2011-06-16 15 views
17

इसलिए, मुझे केवल उपयोगकर्ता की मूल जानकारी (/ verify_credentials (twitter),/me (facebook) पुनर्प्राप्त करने की आवश्यकता है, इसलिए मैं अब अपने कोड को रोल करने की कोशिश कर रहा हूंट्विटर/verify_credentials क्या दिखता है?

मुझे दूसरी कोशिश पर फेसबुक पर मिला क्योंकि मुझे बस इतना चाहिए graph.facebook.com/me + access_token

लेकिन अब ट्विटर के साथ ऐसा करने का प्रयास अविश्वसनीय रूप से दर्दनाक रहा है, मैं इसे दस्तावेज़ों से नहीं समझ सकता, इसलिए, कृपया अनुरोध क्या है चहचहाना एपीआई/verify_credentials की तरह लग रहे?

पैरामीटर हैं क्या? चहचहाना एपीआई, यू चूसना?

उत्तर

26

फेसबुक ओथ 2.0 का उपयोग करता है, जो ओथ 1.0 (जो ट्विटर उपयोग करता है) से लागू करना बहुत आसान है।

एपीआई verify_credentials को यह दिखाई दे सकता है एक उदाहरण का अनुरोध:

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 वर्तमान यूनिक्स टाइमस्टैम्प (यूटीसी में)
  • oauth_version हमेशा होता है 1.0
  • oauth_signature अपने उत्पन्न हस्ताक्षर (जो चहचहाना प्रजनन द्वारा सत्यापित करेंगे)

आप का निर्माण करके oauth_signature पैरामीटर का मान उत्पन्न कर रहा है एक हस्ताक्षर आधार स्ट्रिंग जिसमें निम्नलिखित भाग होते हैं। अपर केस में

  • HTTP विधि
  • एक ampersand &
  • URL- एनकोडेड आधार यूआरआई (सब कुछ https से करने के लिए और verify_credentials.json सहित) (इस मामले GET में)
  • एक ampersand &
  • वर्णमाला क्रम में सभी अनुरोध पैरामीटर, यूआरएल एन्कोडेड। (Oauth_signature नहीं हालांकि इस में शामिल किया जाना चाहिए)

अनुभाग Signing requests in Twitters documentation में छद्म कोड सुंदर ढंग से हस्ताक्षर करने की प्रक्रिया का वर्णन:

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

और फिर आप उपभोक्ता सीक्रेट का उपयोग कर परिणामस्वरूप आधार स्ट्रिंग पर हस्ताक्षर, और पहुंच टोकन गुप्त। यह सब कुछ भी है :)

लेकिन एपीआई को कोई अनुरोध जारी करने से पहले आपको निश्चित रूप से एक्सेस टोकन प्राप्त करने की आवश्यकता होगी। एक बार जब आप oAuth 1.0 प्रवाह, और हस्ताक्षर प्रक्रिया को समझ लेंगे। तुम घर हो जाओगे ट्विटर की प्रलेखन प्रक्रिया को समझाने में एक महान काम करता है, लेकिन यह आपके सिर को चारों ओर लपेटने के लिए काफी कुछ है। हालांकि इसके लायक है।

संबंधित मुद्दे