api - 如何在请求中使用从 Twitter OAuth 1.0a 获得的 "user context access token"?

标签 api twitter oauth access-token

我已成功(?)实现 Twitter 三足身份验证流程以获取用户访问 token 。问题是访问 token 似乎无效......或者我用错了。我已经能够获取应用程序的访问 token ,它可以访问有限的 Twitter API。我通过在 header 上添加“Authentication: Bearer 'access token'”来使用它。但是,当我对用户上下文访问 token 执行相同的操作并执行相同的请求时,我总是收到错误代码 89 无效或过期的 token 。

我获得的访问 token 具有[几个数字]-[一些字母数字字符]的结构。比如 12345678-asd98f798asdf79asdfa9sdfs9df7a9sdf7。这看起来与 https://developer.twitter.com/en/docs/basics/authentication/oauth-1-0a/obtaining-user-access-tokens 第 3 步中的访问 token 示例类似。

我还注意到示例请求是这样的:

POST statuses/update.json
oauth_consumer_key=cChZNFj6T5R0TigYB9yd1w
oauth_token=7588892-kagSNqWge8gB1WwE3plnFsJHAZVfxWD7Vb57p0b4

我认为这两个附加参数将被添加到主体而不是标题。但是,如果我的请求是 GET 请求怎么办?比如请求回家时间线,这绝对需要用户上下文访问 token ?

https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline

从这个 API 引用,示例只给出了 GET url,而不是如何提供用户上下文访问 token 。请帮忙。我感觉解决方案非常简单(就像标题上的修复),但我看不到。

这是我当前的请求:

curl -X GET \
  'https://api.twitter.com/1.1/users/show.json?screen_name=huffpost' \
  -H 'Authorization: Bearer 12345678-as3d12a3d1a3sd1232ads13asd123as1d23as3d32,Bearer 12345678-as3d12a3d1a3sd1232ads13asd123as1d23as3d32' \

这是结果:

{
    "errors": [
        {
            "code": 89,
            "message": "Invalid or expired token."
        }
    ]
}

最佳答案

关于api - 如何在请求中使用从 Twitter OAuth 1.0a 获得的 "user context access token"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59557902/

相关文章:

api - 提供 API 的公司是否在其 API 之前使用填充程序或代理?

Android:如果某个元素在某个 API 级别被弃用,是否仅适用于该 API 级别及更高级别?

python - flask-oauth 永远不会在 oauth 身份验证后重定向

python - 使用 CouchDB OAuth 的 Google UrlFetch 服务

java - 一段时间后杀死java中的线程

php - MediaWiki 扩展 :GoogleAppsAuthentification Multiple Domains

php - PHP 并发

c# - 如何将应用程序与第三方 API 解耦以处理停机时间?

asp.net-mvc-2 - ASP MVC Twitter 授权

PHP Twitter 搜索 API - ForEach() 不工作