PHP Youtube API v3订阅列表

时间:2013-11-19 03:08:40

标签: php youtube-api youtube-data-api

我一直试图找到一个抓住用户订阅列表的示例,但没有成功。虽然我已经通过https://www.googleapis.com/youtube/v3/subscriptions尝试了HTTP GET方法,但是使用了mine = true和part = snippet,id,它似乎始终返回Invalid Credentials错误。我已尝试使用Google云端控制台中必需的标头(我相信),但无法找到要使用的授权令牌。虽然这可能不是我要找的方法。

我认为PHP前端使用更有意义,但我根本不知道从哪里开始,因为我找不到一个有效的例子。我打算做的是让服务器获取用户订阅的列表(通过用户在YouTube上登录的帐户)来搜索某个频道订阅 - 但我似乎无法获得第一个部分使用所有这些授权凭证,这些凭证在某些文档中提到但由于布局更改而不存在。一个例子可以帮助我,因为我几个小时都被困在这个看似简单的任务上。也许API的v2会更简单易用,但我已经尝试了两个版本,我的思绪现在已经过时了。

1 个答案:

答案 0 :(得分:1)

使用PHP和Google API的懒惰示例:

$subList = $youtube->subscriptions->list(array('part'=>'id,snippet','mine'=>'true', 'maxResults'=>'50'));
// Store channel ids into array. items -> snippet -> resourceId -> channelId
foreach($subList['items'] as $item) {
    $subArray[] = $item['snippet']['resourceId']['channelId'];
}
// If there are more pages, go to next page, pageToken = nextPageToken
while ($subList['nextPageToken']) {
    $nextPage = $subList['nextPageToken'];
    $subList = $youtube->subscriptions->list(array('part'=>'id,snippet','pageToken'=>$nextPage,'mine'=>'true','maxResults'=>'50'));
    // Store channel ids into array.
    foreach($subList['items'] as $item) {
        $subArray[] = $item['snippet']['resourceId']['channelId'];
    }
}