概览
- API Key 和 Secret: 本质上是你的应用的用户名和密码。你将使用它们来对需要 OAuth 1.0a 用户上下文的请求进行认证,或生成其他令牌,例如用户 Access Token 或 App Access Token。
- Access Token 和 Secret: 一般而言,Access Token 表示你所代表的用户。通过开发者门户生成的令牌表示拥有该应用的用户。你将使用这些令牌来对需要 OAuth 1.0a 用户上下文的请求进行认证。若要代表其他用户发起请求,你需要使用三方 OAuth 流程以获得其授权。
- Client ID 和 Client Secret: 这些凭证用于通过 OAuth 2.0 认证获取用户 Access Token。与 OAuth 1.0a 类似,用户 Access Token 用于对提供私密用户账号信息或代表其他账号执行操作的请求进行认证,但可通过细粒度的 scope 更好地控制客户端应用对用户的访问权限。
- 仅 App 的 Access Token: 当你向返回 X 上公开可用信息的端点发起请求时,使用此令牌。
应用与项目
开发者门户仪表板
- 查看您现有的独立版应用及其关联的 App ID。
- 创建新的项目、应用或独立版应用。
- 删除未使用的项目或应用。
- 查看或更新特定应用的设置,包括更新名称、描述、网站、回调 URL,以及权限。
- 重新生成应用专用凭证,如 API Key & Secret、App Access Token,以及应用所有者的用户 Access Tokens。
注册以获取访问权限
机器人账户的“自动化账户”标注
- 前往你的账号设置
- 选择“Your account”
- 选择“Automation”
- 选择“Managing account”
- 然后,选择运行你机器人账户的 X 账号
- 输入密码登录
- 最后,你应会看到标注已应用到你账号的确认信息。
应用管理
介绍
- 查看你现有的应用和项目以及它们关联的 App ID。
- 创建新项目或独立版应用。
- 删除项目、应用或独立版应用。
- 点击进入某个特定应用的设置以打开该应用的设置。在设置中,你可以查看应用详情、密钥与令牌,以及权限。
- 将你的应用的用户认证设置更新为使用 OAuth 1.0a 或 OAuth 2.0。
注意:所有应用密钥和令牌在开发者门户中已不再可见,生成后必须妥善保存。我们建议使用密码管理器来存储你的密钥和令牌。你可以显示 API Key 提示,以帮助你将凭证与其对应的应用匹配。
应用设置
应用详情
密钥与令牌
- API Key(Consumer Key)和 API Secret(Consumer Secret)
- App Access Token
- User Access Token 和 Access Token Secret - 开发者门户中可用的 Access Token 和 Secret 对应于拥有该应用的用户。
用户认证设置
OAuth 1.0a 应用-用户权限
OAuth 2.0 应用类型
应用权限
OAuth 1.0a 应用权限
- 仅读取
- 读取和写入
- 读取、写入以及访问私信
只读
读取与写入
读取、写入和管理私信
- POST /2/dm_conversations/:dm_conversation_id/messages
- POST /2/dm_conversations/
- POST /2/dm_conversations/with/:participant_id/messages
- GET /2/dm_conversations/with/:user_id/dm_events
- GET /2/dm_conversations/:dm_conversation_id/dm_events
- GET /2/dm_events
确定权限
x-access-level 头部。该头部的值表示当前生效的权限级别。可能的取值为 read、read-write 和 read-write-directmessages。
回调 URL
callback_url 参数。类似地,使用 OAuth 2.0 授权码(PKCE) 的开发者在请求 GET oauth2/authorize 端点时必须传递 redirect_uri 参数。
除使用这些参数外,开发者还必须确保该回调 URL 已添加到其应用的回调 URL 允许列表中,该列表可在开发者门户的应用设置页面找到。
如果设置正确,作为这些流程的一部分,用户在成功登录 X 后将被重定向到回调 URL。
需要注意的事项
callback_url 或 redirect_uri 参数将回调 URL 作为查询参数传递,请确保对该 URL 进行 HTTP 编码。
回调 URL 限制
在 X 应用仪表板中,回调 URL 的数量有 10 条的硬性上限。你在授权流程中添加的参数必须与在应用仪表板的允许列表中添加的回调 URL 完全一致。
如果你希望在回调 URL 中包含与请求相关的特定数据,可以使用 state 参数来存储在用户被重定向后需要包含的数据。可以将数据直接编码进 state 参数本身,或将该参数用作会话 ID,将状态存储在服务器上。
不要使用 localhost 作为回调 URL
请不要使用 localhost;在本地请使用自定义主机,或使用 http(s)://127.0.0.1
自定义协议 URL
如果你想利用移动端深度链接,可以使用带有路径和域部分的自定义协议 URL,例如 twitter://callback/path。不过,我们确实有一份不允许使用的协议列表,你需要避开这些协议。你可以在下方查看不允许的协议列表。
不允许的协议
vbscript | ldap |
javascript | mailto |
vbs | mmst |
data | mmsu |
mocha | msbd |
keyword | rtsp |
livescript | mso-offdap |
ftp | snews |
file | news |
gopher | nntp |
acrobat | outlook |
callto | stssync |
daap | rlogin |
itpc | telnet |
itms | tn3270 |
firefoxurl | shell |
hcp | sip |
错误示例
HTTP 403 - Forbidden
HTTP 400