使用和生成不记名令牌
不记名令牌使开发者可以更安全地使用 Twitter API,这是 OAuth 2.0 的核心功能之一。
使用不记名令牌的验证也称为仅应用程序身份验证。不记名令牌是使用 curl 命令之类的脚本生成的一个未指定格式的字节数组。你还可在开发者门户中,通过应用设置的“密钥和令牌”部分获取不记名令牌。有关此功能的更多信息,请查看 OAuth 的官方文档。
何时使用这些令牌?
需要使用不记名令牌的产品如下:
- 互动 API
- 高级搜索推文 API
- 账号动态 API
- 其他使用 OAuth 2.0 不记名令牌身份验证的 API,例如 v2 和实验室端点。
前提条件
需要一个经过批准的开发者账号并创建一个 Twitter 应用。有了账号和应用后,还需要获取在开发者门户中找到的使用者 API 密钥。请按照以下步骤操作:
- 在 developer.twitter.com 上登陆 Twitter 账号。
- 导航到 Twitter 应用面板,然后打开要为其生成访问令牌的 Twitter 应用。
- 导航到“密钥和令牌”页面。
- 你可以在此页面中找到“使用者 API 密钥”和“不记名令牌”。
如何生成不记名令牌
你可在“密钥和令牌”的其余部分找到应用的不记名令牌。
对之前从 Twitter 应用获取的以下使用者 API 密钥进行更改后,将以下 cURL 请求复制到命令行中。 请注意,此页面上使用的使用者 API 密钥已停用,因此无法用于实际请求。
- API 密钥
<API key>
例如xvz1evFS4wEEPTGEFPHBog
- API 机密密钥
<API secret key>
例如L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg
curl -u "$API_KEY:$API_SECRET_KEY" \
--data 'grant_type=client_credentials' \
'https://api.twitter.com/oauth2/token'
以下示例展示了输入 API 密钥后 curl 请求的显示效果:
curl -u 'xvz1evFS4wEEPTGEFPHBog:L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg' \
--data 'grant_type=client_credentials' \
'https://api.twitter.com/oauth2/token'
响应如下所示。请注意,该不记名令牌已停用:
{"token_type":"bearer","access_token":"AAAAAAAAAAAAAAAAAAAAAMLheAAAAAAA0%2BuSeid%2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F"}
通过 OAuth 2.0 验证资源时使用的不记名令牌为:
AAAAAAAAAAAAAAAAAAAAAMLheAAAAAAA0%2BuSeid%2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F