You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置Twitter回调至obb以及开启Twitter应用的PIN授权?

一、设置Twitter回调至obb的方法
  • 先进入Twitter开发者后台对应应用的设置页面,找到回调URL(Callback URLs)配置项,添加你的obb专用回调地址,格式为obb://<自定义回调路径>,确保该回调scheme和你端内注册的唤起scheme完全一致
  • 调整现有请求Request Token的代码,主动传入oauth_callback参数,修改后的代码参考如下:
consumer = oauth2.Consumer(constants.consKey, constants.consSecret)
client = oauth2.Client(consumer)
# 新增oauth_callback参数指定obb回调地址
response, content = client.request(constants.requestUrl, 'POST', body={
    "oauth_callback": "obb://your_custom_callback_path"
})
requestToken = dict(urlparse.parse_qsl(content.decode('utf-8')))
print ('Enter the site:')
print ('{}?oauth_token={}'.format(constants.authUrl, requestToken ['oauth_token']))
  • 用户完成授权后,Twitter会自动唤起你配置的obb回调地址,同时带回授权所需的oauth_verifier参数,你可以直接从回调地址的参数中提取该值用于后续换取Access Token。
二、Twitter应用启用PIN授权的方法

PIN授权属于OAuth 1.0a的带外(Out-of-band,简称OOB)授权流,适用于无法配置回调地址的桌面/无头应用场景,配置流程如下:

  • 进入Twitter开发者后台对应应用的设置页面,找到回调URL配置项:如果只需要用PIN授权,可以删除所有已配置的回调URL,或者直接在请求Request Token时将oauth_callback参数值固定为oob
  • 调整现有代码的Request Token请求逻辑,将oauth_callback设为oob,修改后代码参考如下:
consumer = oauth2.Consumer(constants.consKey, constants.consSecret)
client = oauth2.Client(consumer)
# 指定oauth_callback为oob启用PIN授权
response, content = client.request(constants.requestUrl, 'POST', body={
    "oauth_callback": "oob"
})
requestToken = dict(urlparse.parse_qsl(content.decode('utf-8')))
print ('请访问以下地址完成授权:')
print ('{}?oauth_token={}'.format(constants.authUrl, requestToken ['oauth_token']))
# 新增PIN码输入、换Access Token逻辑
pin = input("请输入授权页面显示的PIN码:")
token = oauth2.Token(requestToken['oauth_token'], requestToken['oauth_token_secret'])
token.set_verifier(pin)
client = oauth2.Client(consumer, token)
resp, access_content = client.request(constants.accessTokenUrl, 'POST')
access_token = dict(urlparse.parse_qsl(access_content.decode('utf-8')))
# 后续就可以用access_token调用Twitter接口
  • 配置完成后,用户跳转至授权页面完成授权后,不会跳转任何回调地址,而是直接显示一串数字PIN码,用户输入该PIN码到你的应用后即可完成授权流程。
注意事项
  • 所有回调地址、权限配置需要和Twitter开发者后台的应用设置完全匹配,否则会出现授权失败的问题
  • 请确保你使用的oauth2库版本支持OAuth 1.0a协议,避免参数校验不通过的问题

内容的提问来源于stack exchange,提问作者Jarek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:15:03