如何在Google Oauth PHP之后获取频道ID或网址

时间:2014-06-09 12:20:36

标签: php youtube-api google-oauth

我正在尝试使用youtube登录编写应用程序系统。但我有一个问题在我获得oauth 2.0的必要授权之后,我想在字符串中选择youtube频道ID,但我不能这样做,有人可以帮助我。

    $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&#34 ;;在下面的代码中使用它

$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>";

1 个答案:

答案 0 :(得分:4)

使用OAUTH 2,您可以获取所请求范围的refresh_token和access_token。 如果您想要获得授权用户的YouTube频道ID,请使用他的access_token,然后发送请求:

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

在上面的请求中,您需要替换字符串&#34; HereYourAccessToken&#34;。 respone是一个JSON字符串。 channel-id位于名为:items [&#39; id&#39;](或items.id)的字段中。

注意,access_token在1小时后过期。如果是这样,那么使用refresh_token获取一个新的, refresh_token有效,直到所有者撤销。