我想向 twitter 的 oauth/authorize 端点发送一些额外的参数(以及
oauth_token
),并按回调请求中的方式取回它们(以及 oauth_token
和 oauth_verifier
)。
例如:
请求(额外参数 -
app_name
):
https://api.twitter.com/oauth/authorize?oauth_token=FxHxpekZK8VVfNRr38i2WKJskIZY3Hj7&app_name=myTwitterApp
回调请求应该是(额外参数按原样返回 -
app_name
):
http://www.example.com?oauth_token=FxHxpekZK8VVfNRr38i2WKJskIZY3Hj7&oauth_verifier=Vq0yq2LRUBybevnjGvXyUOBPWH9Ew9DY&app_name=myTwitterApp
请告诉我这在 Twitter 中是否可行,就像在 Google 和 Facebook 中一样。
在推特社区提出这个问题并得到答案。诀窍是在获取请求令牌时在回调 URL 本身中添加额外的参数。
阅读此处的文档后,这并不是很明显!
您需要在请求令牌 api 中显式传递包含重定向 url 和任何额外查询参数的“oauth_callback”查询参数!
const callbackUrl = encodeURIComponent(`${process.env.TWITTER_REDIRECT_URI}?ref=${ref}`)
const request_data = {
url: `https://api.twitter.com/oauth/request_token?oauth_callback=${callbackUrl}`,
method: 'POST',
}