Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Post Twitter-获取请求令牌响应401-发布_Post_Twitter_Oauth - Fatal编程技术网

Post Twitter-获取请求令牌响应401-发布

Post Twitter-获取请求令牌响应401-发布,post,twitter,oauth,Post,Twitter,Oauth,我正试图用twitter创建一个应用程序,但我还停留在第一步 我想发到,但每次我拿到401 我使用的是ApacheComns HTTPClient的各种POST方法,非常特定于我的工具,所以我只发布高级图片 My Header: 'oAuth '+ 'oauth_callback="oob",'+ 'oauth_consumer_key="zhaD2Y6RrQaaZQSz21RShA",'+// fake 'oau

我正试图用twitter创建一个应用程序,但我还停留在第一步

我想发到,但每次我拿到401

我使用的是ApacheComns HTTPClient的各种POST方法,非常特定于我的工具,所以我只发布高级图片

My Header:   'oAuth '+
             'oauth_callback="oob",'+
             'oauth_consumer_key="zhaD2Y6RrQaaZQSz21RShA",'+// fake
             'oauth_nonce="'+ <random string of 32Characters>  +'",'+
             'oauth_signature="'+ a.signature +'",'+
             'oauth_signature_method="HMAC-SHA1",'+
             'oauth_timestamp="'+ <Time in seconds since UNIX epoc> +'"';
到目前为止还不错

我的问题从这里开始,下一步是签名密钥,它需要两件事:

  • 应用程序的消费者秘密
  • 访问令牌(如本页所述)
  • 附加这两个,使用&然后执行HMAC-SHA1。但是我如何获得我的accesstoken

    我还没有把我的帖子发到twitter上,对吗?这里的访问令牌是指承载令牌吗

    页面甚至没有提到如何获取访问令牌(实际上是这样的,但我正在写一篇文章来获取正确的访问令牌?!)


    谢谢你的帮助

    首先要了解的是,Twitter使用OAuth 1.0a有几个步骤:

    步骤1:从Twitter请求未经授权的请求令牌

    第2步:Twitter将使用请求令牌和请求令牌密钥进行响应

    步骤3:使用请求令牌将用户发送到Twitter,以获得用户对应用程序的授权

    第4步:Twitter将用验证码进行响应

    步骤5:将请求令牌和验证代码发送到Twitter以获取访问令牌

    第6步:Twitter将使用访问令牌和访问令牌密钥进行响应

    步骤7:使用访问令牌和访问令牌密钥向Twitter api发出请求

    在流程的每个阶段,必须使用使用者密钥和适当的令牌密钥对请求进行签名。在步骤1中,我们只有使用者机密,因此签名密钥是通过在百分比编码的使用者机密中添加符号和字符来构造的。 这里还值得注意的是,上面的签名基字符串缺少oauth_版本参数,并且基字符串不应以逗号结尾

    获得请求令牌和请求令牌机密(步骤2)后,您可以将用户发送到Twitter授权url,以向您的应用程序授予授权。这是通过将请求令牌作为查询字符串附加到授权url并让用户访问该url来实现的(步骤3)。i、 e

    注意:此请求不需要签名

    一旦用户登录到Twitter并授权您的应用程序,他们将收到一个验证代码(oauth_verifier)以传递回您的应用程序(步骤4)

    然后向Twitter发出请求,将请求令牌交换为访问令牌。这是通过将包含oauth_验证程序代码的签名请求发布到Twitter访问令牌url()来实现的。签名密钥是使用使用符号和字符将百分比编码的使用者机密附加到百分比编码的请求令牌机密后构建的(步骤5)

    如果一切正常,Twitter将使用access_令牌和access_令牌\u secret进行响应(步骤6)。您可以使用这些令牌代表用户发出所有未来的请求(步骤7)。这些请求的签名密钥是使用百分比编码的使用者密钥构造的,该消费者密钥附加到使用符号和字符的百分比编码的访问令牌密钥

    最后,承载令牌是OAuth 2的一部分,它与OAuth 1.0a具有完全不同的授权流


    如果您需要检查OAuth签名,可以使用。

    之类的实用程序,谢谢您的帮助Jonny。
    POST&https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_callback%3Doob%26oauth_consumer_key%20%3D%20zhaD2Y6RrQaaZQSz21RShA%26oauth_nonce%3DkYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1318622958,