重要提示:Zendesk 拟将移除 API 令牌这一身份验证方法。从 2026 年 7 月 28 日起,未使用的令牌将自动取消激活。到 2027 年 4 月 30 日,所有 API 令牌都将停止运行。请参阅宣布移除 API 请求身份验证方法中的 API 令牌。 

问题

如何使用 Zendesk API 对 API 请求进行身份验证?

回答

您必须是已验证用户才能发出通过身份验证的 API 请求。要对 API 请求进行身份验证,请使用电邮地址和密码、电邮地址和 API 密钥,或 OAuth 访问密钥进行基本身份验证。

所有身份验证方法对授权标头的设置都不同。在有效负载或 URL 中发送的凭证不会被处理。每个选项如下所示:

  • API 密钥身份验证
  • OAuth 访问密钥身份验证
  • 查看您的授权标头

API 密钥身份验证

如果您使用 API 密钥,请结合您的电邮地址和 API 密钥以生成授权标头。将电邮地址和 API 密钥组合的格式设置为Base-64编码的字符串。有关如何设置授权标头格式的示例,请查看以下代码块。

Authorization: Basic {base-64-encoded email_address/token:api_token}

OAuth 访问密钥身份验证

如果您使用 OAuth 进行身份验证,请这样设置授权标头的格式:

Authorization: Bearer oauth_access_token

有关更多信息,请参阅对您的应用程序使用 OAuth 身份验证。

查看您的授权标头

警告:请勿将实时或生产 API 密钥、 OAuth访问密钥或帐户密码发送到第三方请求检查工具或外部请求容器。向外部服务公开活跃的凭证会产生安全风险。在外部测试标头时,使用虚拟或模拟令牌。

要查看您的应用发送的确切内容,请使用第三方页面,例如Pipedream (以前称为 RequestBin)。将您的标头与使用OAuth身份验证的Webhook生成的标头进行比较。将 Webhook 指向您的m.piedream.net URL,然后在添加 Webhook页面上,单击测试 Webhook以查看实际情况。

在管理中心中添加 Webhook 页面,显示测试 Webhook 按钮

请求到达您的requestb.in后,显示如下:

显示授权不记名标头的 Pipedream 请求容器详情

Authorization: Bearer 之后的字符串是由 RequestBin 在帐户设置中的 Programmatic Access(程序访问)下提供的 API 密钥。

显示已编码和已解码字符串输入框的 Base64 解码网络界面

如果您使用 Python 提出请求,请按照如下方式设置会话标头。

session = requests.Session()
session.headers = {'Content-Type': 'application/json', 'Authorization': 'Basic Basic_64_encoded_code'}
注意:通过 API 使用量面板监测您的 API 使用情况,并验证是否已达到可能的速率限制。

有关更多信息,请参阅开发者文档:Security and authentication(英文)。

翻译免责声明:本文章使用自动翻译软件翻译,以便您了解基本内容。 我们已采取合理措施提供准确翻译,但不保证翻译准确性

如对翻译准确性有任何疑问,请以文章的英语版本为准。

由 Zendesk 提供技术支持