2011-06-16 17 views
17

yüzden, sadece kullanıcıya temel bilgileri (/ verify_credentials (twitter) almak gerekir/me (facebook) tüm ihtiyacım olduğu için ikinci denemede facebook aldım ben şimdiBir twitter/verify_credentials nasıl görünüyor?

için kendi kodunu yaygınlaştırmaya çalışıyor bu yüzden graf.facebook.com/me + access_token için bir istek

ama şimdi twitter ile yapmaya çalışıyorum inanılmaz derecede acı verici, sadece dokümanlar tarafından çözemiyorum, bu yüzden, lütfen bir istekte bulunun twitter api/verify_credentials benziyor?

parametreler nelerdir? twitter api, yu emmek?

cevap

26

Facebook, oAuth 1.0'dan (twitter'in kullandığı) daha kolay uygulanacak olan oAuth 2.0 kullanıyor.

aşağıdaki gibi görünebilir API verify_credentials için bir örnek isteği:

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 hemen hemen
  • oauth_signature_method hep HMAC olan rastgele bir karakter dize olabilir kendiliğinden anlaşılır -SHA1
  • oauth_token erişim kodunuz
  • oauth_timestamp (UTC olarak) geçerli UNIX zaman damgası
  • oauth_version her zaman 1.0
  • oauth_signature Sen oluşturarak oauth_signature parametrenin değerini (twitter yeniden üreterek doğrular) Oluşturulan imza

üretmek olduğunu Aşağıdaki bölümlerden oluşan bir imza tabanı dizgesi.

  • Ampersan &
  • URL olarak kodlanmış temel tanım (herşey https gelen verify_credentials.json kadar ve dahil) (bu durumda GET olarak) büyük harflerle

    • HTTP yöntemi
    • Ampersan &
    • Tüm istek parametreleri alfabetik olarak, kodlanmış url.

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

      Ve sonra müşteri gizli kullanarak çıkan taban dize imzalamak ve: (oauth_signature bu olsa dahil olmaMAlıdır)

    bölüm Signing requests in Twitters documentation yılında sahte kod zarif imzalama işlemini tarif erişim belirteci sırrı. Hepsi bu kadar var.

    Ancak, API'ye herhangi bir istek göndermeden önce, elbette bir erişim belirteci almanız gerekir. OAuth 1.0 akışını ve imzalama işlemini tamamladıktan sonra. Sen evde olacaksın. Twitter'ın belgeleri, süreci açıklamak için harika bir iş çıkarır, ancak kafanızı sarmak oldukça kolaydır. Buna değer.

  • İlgili konular