【问题标题】:How to Get Channel id or url after Google Oauth PHP如何在 Google Oauth PHP 之后获取频道 ID 或 URL
【发布时间】:2014-07-29 23:42:01
【问题描述】:

我正在尝试使用 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";在下面的代码中使用它

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

【问题讨论】:

    标签: php youtube-api google-oauth


    【解决方案1】:

    使用 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 字符串。并且频道 ID 在名为:items['id'](或 items.id)的字段中。

    请注意,access_token 会在 1 小时后过期。如果是,则使用 refresh_token 获取一个新的, refresh_token 在被所有者撤销之前一直有效。

    【讨论】:

      猜你喜欢
      • 2018-02-02
      • 2020-08-12
      • 2019-12-07
      • 1970-01-01
      • 2019-02-19
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多