2013-08-11 13 views
8

के साथ ओथ टोकन प्राप्त करें यह मेरी पहली बार एपीआई और ओथ और टंबलर के साथ खेल रहा है php client है। मैंने संगीतकार के साथ क्लाइंट को डाउनलोड और स्थापित किया है। यह वह कोड है जिसे ग्राहक को स्थापित करना है।tumblrs आधिकारिक php क्लाइंट

$client = new Tumblr\API\Client($consumerKey, $consumerSecret); 
$client->setToken($token, $tokenSecret); 

मैं उपभोक्ता कुंजी और रहस्य पता है लेकिन मैं कैसे टोकन और tumblrs php ग्राहक के साथ टोकन को गुप्त मिलता है?

मैं भी OAuth की प्रक्रिया जानते हैं, लेकिन मैं नहीं जानता कि कैसे वास्तव में इसे लागू करने के:/

उत्तर

4

बस हमें यह एक ही पृष्ठ में हैं, तो आप से गुज़र कर उपयोगकर्ता के टोकन और गुप्त प्राप्त कर सकते हैं ब्राउज़र साइन-इन प्रवाह नृत्य। टंबलर का प्रवाह ट्विटर के समान ही है, इसलिए आप इसे संदर्भ के रूप में उपयोग कर सकते हैं: Implementing Sign in with Twitter। सही अंतराल प्राप्त करने के लिए आप OAuth भाग Tumblr के Authentication documentation में देख सकते हैं।

नोट Tumblr's PHP client है कि आप से जुड़ा हुआ "http://api.tumblr.com/" जबकि OAuth अंतिम बिंदुओं को डिफ़ॉल्ट आधार यूआरएल सेट है कि (जैसे request_token) "http://www.tumblr.com" का उपयोग करें। ओथ एंडपॉइंट्स का उपयोग करने में सक्षम होने के लिए, आपको केवल बेस यूआरएल बदलना होगा। यहाँ प्रवेश प्रवाह में पहला कदम का एक उदाहरण है, एक अनुरोध टोकन हो रही:

// Requesting for http://www.tumblr.com/oauth/request_token 

$client = new Tumblr\API\Client($consumerKey, $consumerSecret); 
// Change the base url 
$client->getRequestHandler()->setBaseUrl('http://www.tumblr.com/'); 
$req = $client->getRequestHandler()->request('POST', 'oauth/request_token', [ 
    'oauth_callback' => '...', 
]); 
// Get the result 
$result = $req->body->__toString(); 

आप $result में यह मिलना चाहिए:

oauth_token=ulE1EuaZvJSN0qIKfQO5EFgcrxrOLJF0Cnm7VbLQqj66oF9nwt&oauth_token_secret=PLjC7s4JeIlgm53q7FKL1wqQkFoL0775JC6UkHKiepAQ6TxXxp&oauth_callback_confirmed=true 

पर कैसे अधिक जानकारी के लिए Github में इस commit देखें यह संभव बनाया गया था।

+0

मुझे ओथ कुंजी मिलने के बाद मैं 'ap क्लाइंट-> getBlogInfo ($ blogname) जैसे किसी भी एपीआई आदेशों को चला नहीं सकता;'। यह 'घातक त्रुटि फेंकता है: अनकॉटेड टंबलर \ एपीआई \ अनुरोध अपवाद: [404]: लाइन 426 पर lib \ Tumblr \ API \ Client.php में फेंक नहीं पाया गया' मैं और क्या खो रहा हूं? – Yamiko

+1

@yamikoWebs चूंकि आपने 'baseUrl' को बदल दिया है, आपको इसे वापस बदलना होगा: '$ client-> getRequestHandler() -> setBaseUrl ('http://api.tumblr.com'); या आप एक अलग 'Tumblr \ API \ Client' उदाहरण बना सकता है। – Shiki

+0

यह इस प्रश्न के दायरे से बाहर है लेकिन मैं कैसे अधिकृत कर सकता हूं ताकि मैं एपीआई के साथ पोस्ट जमा कर सकूं? – Yamiko

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