twitter/verify_credentials是什么样的?

Bre*_*ado 20 twitter oauth

所以,我只需要检索用户的基本信息(/ verify_credentials(twitter),/ me(facebook),所以我现在尝试滚动我自己的代码

第二次尝试在facebook上获取它,因为我需要的是对graph.facebook.com/me + access_token的请求

但是现在尝试用twitter做这件事非常痛苦,我只是无法通过文档来解决这个问题,所以请问twitter api/verify_credentials的请求是什么样的?

什么是params?twitter api,yu吮吸?

Jon*_*der 28

Facebook使用oAuth 2.0,比oAuth 1.0(twitter使用的)更容易实现.

verify_credentials API的示例请求可能如下所示:

https://api.twitter.com/1/account/verify_credentials.json?oauth_consumer_key=XXX&oauth_nonce=XXX&oauth_signature_method=HMAC-SHA1&oauth_token=XXX&oauth_timestamp=123456789&oauth_version=1.0&oauth_signature=YYY

  • oauth_consumer_key是自我解释的
  • oauth_nonce几乎可以是随机字符串
  • oauth_signature_method始终是HMAC-SHA1
  • oauth_token是您的访问令牌
  • oauth_timestamp是当前的UNIX时间戳(以UTC为单位)
  • oauth_version始终为1.0
  • oauth_signature是您生成的签名(twitter将通过复制进行验证)

您可以通过构造由以下部分组成的签名基本字符串来生成oauth_signature参数的值.

  • 大写的HTTP方法(在这种情况下GET)
  • 一个&符号 &
  • URL编码的基本URI(https包括verify_credentials.json在内的所有内容)
  • 一个&符号 &
  • 所有请求参数按字母顺序排列,url编码.(虽然oauth_signature不应包括在内)

" 在Twitters中签名请求"文档部分中的伪代码优雅地描述了签名过程:

httpMethod + "&" +
    url_encode(  base_uri ) + "&" +
    sorted_query_params.each  { | k, v |
        url_encode ( k ) + "%3D" +
        url_encode ( v )
    }.join("%26")
Run Code Online (Sandbox Code Playgroud)

然后使用使用者密钥和访问令牌密钥对生成的基本字符串进行签名.那就是它也是:)

但在向API发出任何请求之前,您当然需要实际获取访问令牌.一旦掌握了oAuth 1.0流程和签名过程.你会回家的.Twitter的文档在解释这个过程方面做得非常好,但它是一个很好的解决方案.值得一提.