2014-06-09 28 views
0

我正在嘗試使用youtube登錄對應用系統進行編碼。但我有一個問題在我得到oauth 2.0所需的授權後,我想要選擇一個字符串中的YouTube頻道ID,但我無法做到這一點,有人可以幫助我。如何在Google Oauth之後獲取頻道ID或網址PHP

$client = new Google_Client(); 
    $client->setClientId($client_id); 
    $client->setClientSecret($client_secret); 
    $client->setRedirectUri($redirect_uri); 
    $client->setApplicationName("BYTNETWORK"); 
    $client->setScopes(array('https://www.googleapis.com/auth/userinfo.profile', 
    'https://www.googleapis.com/auth/yt-analytics.readonly' 

    )); 

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { 
    $client->setAccessToken($_SESSION['access_token']); 
} else { 
    $authUrl = $client->createAuthUrl(); 
} 

所以在此之後我要像

$的channelID = 「XXXXX」 的字符串;在下面的代碼中使用它

$data = file_get_contents('http://gdata.youtube.com/feeds/api/users/$channelid?alt=json'); 
$data = json_decode($data, true); 
$stats_data = $data['entry']['yt$statistics']; 
$medya = $data['entry']['media$thumbnail']; 
//yt$username kısmından kanal adı parse edilir 

/**********************************************************/ 
echo "<img src='$medya[url]'></img><br>"; 
echo "Subscribers: $stats_data[subscriberCount]<br>"; 
echo "Views: $stats_data[totalUploadViews]<br>"; 

回答

2

使用OAUTH 2,您可以爲請求的作用域獲取refresh_token和access_token。 如果你想獲得的YouTube頻道-ID,授權用戶,用他的access_token,那麼你發送請求:

https://www.googleapis.com/youtube/v3/channels?part=id&mine=true&access_token=HereYourAccessToken 

在上面的要求,你需要替換字符串「HereYourAccessToken」。 響應是一個JSON字符串。 channel-id位於名爲:items ['id'](或items.id)的字段中。

請注意,1小時後access_token會過期。如果是這樣,則使用refresh_token獲取新的, refresh_token有效直到所有者撤銷。