我正在尝试使用 python 从 Zendesk 获取数据。他们的 API 文档 中有以下说明。尽管我提供了正确的 API 令牌,但我收到了无效授权错误。
Zendesk 文档:
GET /v3/deals/custom_fields
Authorization: Bearer $TOKEN
我的尝试:
import requests
import json
domain = 'https://mydomain.zendesk.com/v3/deals/custom_fields.json'
api_token= 'apikey'
payload = ""
headers = {
'Accept': "application/json",
'Content-Type': "application/json",
'Authorization': "Bearer "+api_token
}
response1=requests.request("GET", domain, data=payload, headers=headers)
response1.json()
错误:
{'错误': 'invalid_token', 'error_description': '提供的访问令牌已过期、已撤销、格式错误或因其他原因无效。'}
这是如何使用令牌连接到 Zendesk API :
Authorization: Basic {email_address}/token:{api_token}
不要使用
Bearer
,而是使用 Basic
。
我们需要对{email_address}/token:{api_token}进行base64编码
示例:
如果你有:
[email protected]/token:6wiIBWbGkBMo1mRDMuVwkw1EPsNkeUj95PIz2akv
然后:
授权:基本amRvZUBleGFtcGxlLmNvbS90b2tlbjo2d2lJQldiR2tCTW8xbVJETXVWd2t3MUVQc05rZVVqOTVQSXoyYWt2
基本身份验证用于 API 令牌。如基本中所述 上面的身份验证,凭证必须与请求一起发送 授权标头。
来源:https://developer.zendesk.com/api-reference/introduction/security-and-auth/#api-token