2012-12-11 13 views
5

登録したYouTubeアカウントにビデオファイルをアップロードするためのCodeIgniter-YouTube-API-Libraryを追加しました。私の手にapikey、oauthキー、oauthの秘密があります。アップロードは正常に完了しました。 現在の問題は、ビデオをアップロードしようとしている別のユーザーが、登録済みのYouTubeアカウントにアップロードするのではなく、現在のユーザーのYouTubeアカウントに移動したときです。ユーザーに登録されたアカウントにログインするように促します。解決策を提案します。次のコードを使用しています。CodeIgniter-YouTube-API-Library登録アカウントでの認証

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

こんにちはSujathan、私は同じAPIを統合しています。しかし、混乱...どこから始めるのか。私はフォームを持っているビューを作成し、私はすべての資格を持っている、私はフォームから直接direct_upload関数を呼び出す必要があるか、その前にいくつかのタスクを実行する必要があります...あなたは私にsteps.Iを提案することができます。 –

答えて

関連する問題