客户端必须经过身份验证才能访问此资源。吉拉休息 api

Client must be authenticated to access this resource. jira rest api

我使用节点模块 passport-atlassian-oauth2 创建了一个项目,并且我成功获得了 accessToken。但是当我请求创建一个问题时,我得到了错误

Client must be authenticated to access this resource.

下面是我创建问题 jira 的代码 api。

你能帮忙吗?

var bodyData = {
    "fields": {
        "project": {
          "key": "FLUX"
        },
        "summary": "REST ye merry gentlemen.",
        "description": "Creating of an issue using project keys and issue type names using the REST API",
        "issuetype": {
          "name": "Bug"
        }
      }
    };

var baseUrl = 'https://alamrezoanul.atlassian.net';

var options = { 
    method: 'POST', 
    url: `${baseUrl}/rest/api/3/issue`, 
    data: JSON.stringify(bodyData), 
    headers: { 'Authorization': 'Bearer ' + jiraTokens.accessToken, 'Content-Type': 'application/json' }, 
    json: true };

axios(options) 
    .then((response2) => { 
        console.log("response2.data: ", response2.data); 
    }) 
    .catch((error) => { 
        console.log("error: ", error); 
    })

嗨,我今天遇到了同样的问题。您需要获取 https://alamrezoanul.atlassian.net 的云 ID,然后使用 var baseUrl = 'https://api.atlassian.com/ex/jira/{cloud id}';.

而不是 var baseUrl = 'https://alamrezoanul.atlassian.net';

您可以通过向 https://api.atlassian.com/oauth/token/accessible-resources 发出经过身份验证的 GET 请求来获取云 ID。

您可能想在您的授权令牌中检查听众。

https://developer.atlassian.com/cloud/jira/platform/oauth-2-authorization-code-grants-3lo-for-apps/#implementing-oauth-2-0--3lo-

设置说:

audience: (required) Set this to api.atlassian.com.

您可能需要设置为alamrezoanul.atlassian.net