【问题标题】:How to get the current user from node?如何从节点获取当前用户?
【发布时间】:2015-08-13 16:01:02
【问题描述】:

使用节点创建 Confluence 插件时,我想检索用户的帐户信息。

如何获取当前运行用户的 id 和 name?如果我只有一个用户的 id,我如何获取他们的信息(即全名、用户名、个人资料等)?

我找到了一些关于如何从 Java 角度使用它的资源...

(1)https://developer.atlassian.com/confdev/development-resources/confluence-developer-faq/how-do-i-find-the-logged-in-user

(2)https://docs.atlassian.com/confluence/latest/com/atlassian/confluence/user/UserAccessor.html

他们的文档甚至有如何从前端获取 id 和用户名: https://developer.atlassian.com/static/connect/docs/latest/javascript/module-User.html

不过,我没有看到任何关于节点的内容。

【问题讨论】:

  • 有点不公平的人对你投了反对票……我快速浏览了一下,没有关于 JSON API 的明确文档。然而,SOAP API 的文档显然 显然是相同的。看看docs.atlassian.com/rpc-jira-plugin/latest/com/atlassian/jira/…,java.lang.String)
  • SOAP API 将在未来的版本中从 Confluence 中移除,所以我建议不要这样做。

标签: javascript node.js confluence


【解决方案1】:

在 Atlassian Connect 插件中,您可以通过获取发送到您的插件的 user_id 请求参数来检索用户名。

例如,这是我在this page 上的Gister Macro for Confluence Cloud 的电话:

https://davidsimpson.me/labs/gister-for-confluence-cloud/gister.html?gistUrl=https%3A%2F%2Fgist.github.com%2Fdvdsmpsn%2Fa7910d336c5864201837
    tz=Europe%2FLondon
    loc=en-GB
    user_id=dvdsmpsn
    user_key=ff8080814b99b7f1014b99b80fda0001
    xdm_e=https%3A%2F%2Fdvdsmpsn.atlassian.net
    xdm_c=channel-gister-macro2158065749017340142
    cp=%2Fwiki
    lic=none
    cv=1.1.44

如果您知道用户的user_id(在本例中为dvdsmpsn),则可以发送 REST 调用,例如

https://dvdsmpsn.atlassian.net/wiki/rest/prototype/1/search/user.json?query=dvdsmpsn

这将给出响应:

{  
   "totalSize":1,
   "result":[  
      {  
         "id":"491522",
         "type":"user",
         "title":"David Simpson [Administrator]",
         "wikiLink":"[~dvdsmpsn]",
         "createdDate":{  
            "friendly":"Feb 17, 2015",
            "date":"2015-02-17T22:57:26+0000"
         },
         "creator":{  
            "links":[  
               {  
                  "href":"https://dvdsmpsn.atlassian.net/wiki/rest/prototype/1/user/non-system/dvdsmpsn",
                  "rel":"self"
               }
            ],
            "avatarUrl":"/wiki/download/attachments/491522/user-avatar?version=1&modificationDate=1425823096051&api=v2",
            "displayableEmail":"david@davidsimpson.me",
            "anonymous":false,
            "name":"dvdsmpsn",
            "displayName":"David Simpson [Administrator]"
         },
         "lastModifier":{  
            "links":[  
               {  
                  "href":"https://dvdsmpsn.atlassian.net/wiki/rest/prototype/1/user/non-system/dvdsmpsn",
                  "rel":"self"
               }
            ],
            "avatarUrl":"/wiki/download/attachments/491522/user-avatar?version=1&modificationDate=1425823096051&api=v2",
            "displayableEmail":"david@davidsimpson.me",
            "anonymous":false,
            "name":"dvdsmpsn",
            "displayName":"David Simpson [Administrator]"
         },
         "username":"dvdsmpsn",
         "userKey":"ff8080814b99b7f1014b99b80fda0001",
         "thumbnailLink":{  
            "href":"https://dvdsmpsn.atlassian.net/wiki/download/attachments/491522/user-avatar?version=1&modificationDate=1425823096051&api=v2",
            "type":"image/png",
            "rel":"thumbnail"
         },
         "link":[  
            {  
               "href":"https://dvdsmpsn.atlassian.net/wiki/display/~dvdsmpsn",
               "type":"text/html",
               "rel":"alternate"
            },
            {  
               "href":"https://dvdsmpsn.atlassian.net/wiki/spaces/flyingpdf/pdfpageexport.action?pageId=491522",
               "type":"application/pdf",
               "rel":"alternate"
            },
            {  
               "href":"https://dvdsmpsn.atlassian.net/wiki/rest/prototype/1/content/491522",
               "rel":"self"
            }
         ]
      }
   ],
   "group":[  

   ]
}

好的,这是使用“已弃用”的原型 REST API,但如果想要替换,您只能使用可用的东西。

【讨论】:

    猜你喜欢
    • 2011-10-24
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 2018-12-05
    • 1970-01-01
    相关资源
    最近更新 更多