【问题标题】:Could not authenticate with OAuth error when passing parameters Twitter API传递参数 Twitter API 时无法使用 OAuth 错误进行身份验证
【发布时间】:2016-10-28 00:18:59
【问题描述】:

当我将参数传递给 Twitter API 时,我收到“无法使用 OAuth 进行身份验证”错误。如果我不传递任何参数,那么它工作正常。

任何人都可以研究这个问题并为我提供解决方案。

我的 OAuth 请求数组如下

Array
(

[method] => GET
[uri] => Array
(
    [host] => api.twitter.com
    [path] => 1/direct_messages.json
)

[auth] => Array
(
    [method] => OAuth
    [oauth_token] => 605267577-YwEtkLXgDZcXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    [oauth_token_secret] => p2SKUjaRz7oUqW8jmXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    [oauth_consumer_key] => PAu4LlcETXXXXXXXXXXXXX
    [oauth_consumer_secret] => OA2ISmIYMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
)

[body] => Array
(
    [count] => 200
)

[header] => Array
(
    [Authorization] => OAuth oauth_version="1.0",oauth_signature_method="HMAC-SHA1",oauth_token="605267577-YwEtkLXgDZcLaFIZHdJxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",oauth_consumer_key="PAu4LlcETSxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",oauth_nonce="616caa42455f6a490f7fce089fdb56b5",oauth_timestamp="1342592116",oauth_signature="B2Dr4CioXL55fwxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)

)

我传递了“count”参数,这是我得到的响应

Array
(
    [error] => Could not authenticate with OAuth.
    [request] => /1/direct_messages.json
)

提前致谢, 英特卡布

【问题讨论】:

    标签: twitter twitter-oauth


    【解决方案1】:

    您的身份验证不正确。你必须遵循这个过程:https://dev.twitter.com/docs/auth/authorizing-request

    【讨论】:

    • 感谢您的回复,但我仍然无法理解问题所在。请您告诉我代码中的问题在哪里。
    • 请检查我现在有问题的请求,我正在使用所有 OAuth 参数。
    • Authorization 标头中的逗号后有空格。关于您的其余代码,似乎还可以。我想您在签署请求时做了正确的事情。
    • 我的代码中逗号后面没有空格,如果不传递任何参数,相同的标题也可以工作。
    【解决方案2】:

    在我发现 API 需要在 oauth 数组和 URL 查询中包含该参数之前,我遇到了同样的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-11
      • 2019-05-06
      • 1970-01-01
      • 2011-08-04
      • 2014-05-01
      • 2014-04-14
      • 1970-01-01
      相关资源
      最近更新 更多