您可以生成一个OAuth访问密钥用于测试。要测试或构建内部应用程序,请避免与特定用户关联的 API 请求,例如需要用户名和密码的 基本身份验证,或也需要用户名的 API 密钥身份验证。而应使用 OAuth访问密钥。
重要提示: 本文所述方法是将 Zendesk 用户名和密码交换为访问密钥。因此,密钥具有与密码相同的安全漏洞。任何拥有该密钥的人都可以访问该帐户。请妥善保存密钥,不要将其硬编码到您的应用程序代码中。将其存储在环境变量中。
创建OAuth客户端
您的第一步是创建一个OAuth客户端用于测试。
- 在 管理中心中, 单击 应用和整合 图标 (
),然后选择 连接 >OAuth客户端:
- 单击 添加客户端。
请注意以下与创建普通OAuth客户端的区别:
- URL 必须是有效的 HTTPS URL,但不必是此项目的真实网站。例如:https://somesite.com。
- 唯一标识符 是您在代码中使用的客户端名称。使用OAuth客户端 API 的 列出客户 端端点获取客户端 ID。
- 复制您的 客户端密钥 以供将来参考。它在您创建后不会再次显示,您将需要它构建OAuth网络应用或用于其他项目。
- 所有其他字段都可以填写虚拟数据。
创建访问密钥
通过使用 cURL 发出请求,以使用 OAuth密钥 API 创建密钥:
curl https://{subdomain}.zendesk.com/api/v2/oauth/tokens.json \
-H "Content-Type: application/json" \
-d '{"token": {"client_id": "your_client_id", "scopes": ["read", "write"]}}' \
-X POST -v -u {email_address}:{password}
关于此代码的一些注意事项:
- 将 subdomain 占位符替换为您自己的子域名
- "client_id" 的值是您从OAuth客户端页面复制的数字
- 将范围设置为[“读取”、“写入”],除非您要专门测试对资源的只读访问权限
- 如果您的组织使用 单点登录 (SSO),并且 Zendesk 密码已从 Zendesk 帐户删除,请使用 API 密钥对请求进行身份验证:
-u {email_address}/token:{api_token}
更新。请参阅 Support API 文档中的 API 密钥 。
运行您的 cURL 请求。它应返回一个 JSON 包,其中包含一个带有多个属性的密钥对象:
Full_token的值是您的访问密钥。复制并保留。
请注意响应的 Explore_at 属性为 null,这意味着在您删除客户端之前,密钥不会停止工作。此外,当您下次访问管理中心的 OAuth客户端 列表时,新客户端的活跃密钥数量应增加 1。
使用新的访问密钥
使用访问密钥对 API 请求进行身份验证
任何需要身份验证的 API 调用都可以使用OAuth访问密钥进行。例如,对 工单 端点的调用如下所示:
curl https://{subdomain}.zendesk.com/api/v2/tickets.json \
-u {email_address}:{password}
使用访问密钥对 工单 端点进行的调用如下所示:
curl https://{subdomain}.zendesk.com/api/v2/tickets.json \
-H "Authorization: Bearer {access_token}"
在 API 客户端中使用访问密钥
在我们任意 API 客户端中使用OAuth访问密钥。例如, Ruby 客户端需要使用用户名和密码(或 API 密钥)进行身份验证:
config.username = "user email" config.password = "user password"
如果您使用访问密钥,将如下所示:
config.access_token = "your OAuth access token"
翻译免责声明:本文章使用自动翻译软件翻译,以便您了解基本内容。 我们已采取合理措施提供准确翻译,但不保证翻译准确性
如对翻译准确性有任何疑问,请以文章的英语版本为准。
0 条评论