2012-12-11 12 views
5

मैंने एक पंजीकृत यूट्यूब खाते में वीडियो फ़ाइलों को अपलोड करने के लिए कोडइग्निटर-यूट्यूब-एपीआई-लाइब्रेरी को जोड़ा है। मेरे पास मेरे हाथ में apikey, oauth key, oauth रहस्य है। और मैं अपलोड सफलतापूर्वक किया था। लेकिन वर्तमान समस्या तब होती है जब कोई अन्य उपयोगकर्ता पंजीकृत वीडियो यूट्यूब खाते में अपलोड करने के बजाय वीडियो अपलोड करने का प्रयास करता है, यह वर्तमान उपयोगकर्ता के यूट्यूब खाते पर जाता है। मैं उपयोगकर्ता को पंजीकृत खाते में लॉगिन करने के लिए कह कर इससे कैसे बच सकता हूं। कृपया समाधान का सुझाव दें। मैं निम्नलिखित कोड का उपयोग कर रहा हूं।कोडइग्निटर-यूट्यूब-एपीआई-लाइब्रेरी पंजीकृत खाते के साथ प्रमाणीकरण

public function request_youtube() 
{ 
    $params['key'] = 'ENTER YOUR GOOGLE CONSUMER KEY'; 
    $params['secret'] = 'ENTER YOUR GOOGLE CONSUMER SECRET'; 
    $params['algorithm'] = 'HMAC-SHA1'; 

    $this->load->library('google_oauth', $params); 
    $data = $this->google_oauth->get_request_token(site_url('example/access_youtube')); 
    $this->session->set_userdata('token_secret', $data['token_secret']); 
    redirect($data['redirect']); 
} 

//This method will be redirected to automatically 
//once the user approves access of your application 
public function access_youtube() 
{ 
    $params['key'] = 'ENTER YOUR GOOGLE CONSUMER KEY'; 
    $params['secret'] = 'ENTER YOUR GOOGLE CONSUMER SECRET'; 
    $params['algorithm'] = 'HMAC-SHA1'; 

    $this->load->library('google_oauth', $params); 

    $oauth = $this->google_oauth->get_access_token(false, $this->session->userdata('token_secret')); 

    $this->session->set_userdata('oauth_token', $oauth['oauth_token']); 
    $this->session->set_userdata('oauth_token_secret', $oauth['oauth_token_secret']); 
} 

//This method can be called without having 
//done the oauth steps 
public function youtube_no_auth() 
{ 
    $params['apikey'] = 'ENTER YOUR GOOGLE YOUTUBE API KEY'; 

    $this->load->library('youtube', $params); 
    echo $this->youtube->getKeywordVideoFeed('pac man'); 
} 


public function direct_upload() 
{ 
    $videoPath = 'THE RELATIVE PATH ON YOUR SERVER TO THE VIDEO'; 
    $videoType = 'THE CONTENT TYPE OF THE VIDEO'; //This is the mime type of the video ex: 'video/3gpp' 

    $params['apikey'] = 'ENTER YOUR GOOGLE YOUTUBE API KEY'; 
    $params['oauth']['key'] = 'ENTER YOUR GOOGLE CONSUMER KEY'; 
    $params['oauth']['secret'] = 'ENTER YOUR GOOGLE CONSUMER SECRET'; 
    $params['oauth']['algorithm'] = 'HMAC-SHA1'; 
    $params['oauth']['access_token'] = array('oauth_token'=>urlencode($this->session->userdata('oauth_token')), 
              'oauth_token_secret'=>urlencode($this->session->userdata('oauth_token_secret'))); 
    $this->load->library('youtube', $params); 

    $metadata = '<entry xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007"><media:group><media:title type="plain">Test Direct Upload</media:title><media:description type="plain">Test Direct Uploading.</media:description><media:category scheme="http://gdata.youtube.com/schemas/2007/categories.cat">People</media:category><media:keywords>test</media:keywords></media:group></entry>'; 
    echo $this->youtube->directUpload($videoPath, $videoType, $metadata); 
} 
+0

हाय सुजथन, मैं एक ही एपीआई को एकीकृत कर रहा हूं। लेकिन भ्रमित ... कहां से शुरू करें। मैंने एक ऐसा दृश्य बनाया है जिसमें फॉर्म है और मेरे पास सभी क्रेडेंशियल हैं, क्या मुझे सीधे मेरे फॉर्म से direct_upload फ़ंक्शन को कॉल करने की आवश्यकता है या इससे पहले कुछ कार्य करने की आवश्यकता है ... कृपया आप मुझे सुझाव दे सकते हैं। मैं इसके लिए नया हूं । –

उत्तर

1

यहाँ https://developers.google.com/youtube/articles/codeigniter_library में मैं देख सकता हूँ directUpload समारोह भी एक उपयोगकर्ता पैरामीटर है। इसे लॉग इन उपयोगकर्ता की आईडी पर सेट करने का प्रयास करें और देखें कि यह काम करता है या नहीं।

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