python - 如何用授权码换取访问 token Twitter API?

标签 python twitter oauth-2.0 twitter-oauth twitterapi-python

我正在开发一个应用程序,它将读取我公司的一些推文统计数据。我想让所有员工都连接到他们的 Twitter 帐户。

我面临以下问题:我卡在“交换访问 token 的授权代码”处。

授权后的响应网址为:https://example/v1/browser-callback?state=state&code=all0UTY5TVVMYmctNjZEQVpYYYYYYYYZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我想我必须更改 access_tokenaccess_token_secret 的代码 all0UTY5TVVMYmctNjZEQVpYYYYYYYYZZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ,但我没有在文档中找到如何执行此操作Twitter 向我们提供的信息。

enter image description here

最佳答案

我不知道什么the docs看起来就像 3 月份那样,但现在要做到这一点,您只需使用重定向 URL 中的代码参数构建请求 header 。从您提供的示例网址(https://example/v1/browser-callback)中,您的代码是: all0UTY5TVVMYmctNjZEQVpYYYYYYYYZZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

您为私有(private)客户端检索用户的持有者和刷新 token 而发出的curl 请求将是:

curl --location --request POST 'https://api.twitter.com/2/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic YOUR_BASE64_ENCODED_ClientID:ClientSecret_HERE'\
--data-urlencode 'code=all0UTY5TVVMYmctNjZEQVpYYYYYYYYZZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'redirect_uri=https://example/v1/browser-callback' \
--data-urlencode 'code_verifier=challenge'

其中 YOUR_BASE64_ENCODED_ClientID:ClientSecret_HERE 是(根据文档):

To create the basic authorization header you will need to base64 encoding on your Client ID and Client Secret which can be obtained from your App’s “Keys and Tokens” page inside of the developer portal.

在用户授权您的应用后,您需要在您的回调网址收到代码后 30 秒内发出此请求,以获取私有(private)客户端的初始不记名 token /刷新 token 。

关于python - 如何用授权码换取访问 token Twitter API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71465525/

相关文章:

Python 表单/提示 SQLite 输入

java - 您如何解释外行或编程初学者,面向对象方法的大胆点 - 安全性?

python - 使用 pathlib 创建符号链接(symbolic link)

python - 使用 Twitter API 的流媒体功能时出现 401 错误(通过 Tweepy)

authorization - 来自服务器的 OAuth2 "Invalid Grant"响应

python - Flask-OAuthlib OAuth2 客户端报错: "Missing access credentials."

java - 将邮件插入 Gmail 时出现 400 错误请求,前提是邮件包含大附件(超过 5 mb)

python-pdfkit (wkhtmltopdf) 目录溢出

ios - 适用于IOS 4.3的Twitter集成

javascript - Chrome 中的 "insecure content"用于书签