2009-10-05 7 views
13

मैं अपने डेटा एपीआई के माध्यम से यूट्यूब को प्रमाणीकृत करने की कोशिश कर रहा हूं और केवल यह जानने की जरूरत है कि हेडर को उनके उदाहरण (नीचे) से PHP + कर्ल फ़ंक्शन कॉल में कैसे अनुवादित किया जाना चाहिए। भ्रमित हिस्सा प्राधिकरण भाग है, जो नाम/मूल्य जोड़ों को अपने नाम और मूल्य जोड़े के साथ जोड़ता है।मैं PHP और curl के साथ OAuth का उपयोग कैसे करूं?

This documentation सभी अच्छी और अच्छी है, सिवाय इसके कि मुझे यह नहीं पता कि हेडर में उन्हें क्या प्रारूपित करना है।

उनके उदाहरण:

POST /accounts/OAuthGetRequestToken HTTP/1.1 
Host: https://www.google.com 
Content-Type: application/x-www-form-urlencoded 
Authorization: OAuth 
       oauth_consumer_key="example.com", 
       oauth_signature_method="RSA-SHA1", 
       oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D", 
       oauth_timestamp="137131200", 
       oauth_nonce="4572616e48616d6d65724c61686176", 
       oauth_version="1.0" 
scope=http://gdata.youtube.com 

यह, मैं सिर्फ इसलिए मैं वीडियो स्वचालित रूप से अपलोड कर सकते हैं एक खाते के लिए कुंजी विनिमय करने की ज़रूरत फैंसी होने की जरूरत नहीं है। मुझे नहीं पता कि मेरे

curl_setopt($ch, CURLOPT_HEADER, $headers); 

सहायता के लिए प्राधिकरण आइटम को हेडर एरे में कैसे प्रारूपित करना है, यह नहीं पता?

उत्तर

18

मैंने पहले यूट्यूब एपीआई का उपयोग नहीं किया था, लेकिन मैंने वेब ऐप के लिए ओएथ का उपयोग करके अपना खुद का आरईएसटी एपीआई बनाया है।

हैडर होना चाहिए: आवेदन/x-www फार्म-urlencoded और उदाहरण के रूप में कहते हैं, oauth_consumer_key, oauth_signature_method, oauth_signature आदि जैसे मानकों ताकि आप जैसे कि यह डाल करने के लिए की जरूरत है .., पोस्ट का उपयोग कर भेजा जा करने की जरूरत है इस:

 $header[]   = 'Content-Type: application/x-www-form-urlencoded'; 

      curl_setopt($ch, CURLOPT_HTTPHEADER,  $header); 
      curl_setopt($ch, CURLOPT_POST,  true); 
      curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode("oauth_consumer_key=example.com& 
      oauth_signature_method=RSA-SHA1& 
      oauth_signature=wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D& 
      oauth_timestamp=137131200& 
      oauth_nonce=4572616e48616d6d65724c61686176& 
      oauth_version=1.0")); 

मैं आशा है कि यह मदद करता है: डी

सादर।

+0

मैं इस परीक्षण करने के लिए एक अवसर है, लेकिन नहीं किया है कि यह एक पूर्ण उदाहरण की तरह दिखता है तो मैं इसे स्वीकार कर लिया चिह्नित करने के लिए जा रहा हूँ। अगर मैं (या कोई और) उपरोक्त यूट्यूब एपीआई के खिलाफ इस्तेमाल की गई समस्या का पता लगाता हूं तो मैं अपडेट करूंगा। (आपके पास कुछ अपवॉट भी हैं, इसलिए वह है।) –

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