我正在使用 Jira Asset Management API,具有以下代码来获取对象。
import requests
import json
id = "<validobjectid>"
url = "https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/object/{id}"
headers = {
"Accept": "application/json",
"Authorization": f"Basic {encoded_credentials}",
}
response = requests.request("GET", url, headers=headers)
print(
json.dumps(
json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")
)
)
但是我收到了 400 错误。我正在使用在此方法的安全部分下生成的 API 令牌。
我不确定这个activationID是什么。任何帮助都会有帮助
{ "code": 400, "message": "activationId is not provided" }
根据官方文档:
资产 REST API 指南
标准资产 REST API 指南将引导您完成一个工作流程,该工作流程专为希望使用 REST API 完成将数据或数据结构导入资产之外的任务的用户而设计。它遵循使用基本身份验证进行 REST API 调用的正常过程。
此工作流程包括以下步骤:
- 使用基本身份验证进行身份验证。
- 使用工作区调用来发现您的工作区ID
- 将 REST API 与您的工作区 ID 结合使用来进行 REST API 调用。
您的代码中有几个问题
您的代码的更正和测试版本将是
import requests
import json
workspaceId = "<your_workspace_id>"
id = "<validobjectid>"
url = f"https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/object/{id}"
headers = {
"Accept": "application/json",
"Authorization": f"Basic {encoded_credentials}",
}
response = requests.request("GET", url, headers=headers)
print(
json.dumps(
json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")
)
)