2015-04-30 44 views
1

我试图检索用户视频的评论线索,但我得到403权限不足的错误。Youtube API在请求评论时返回的权限不足

我在开发人员控制台中的oAuth客户端启用了Youtube Data v3 API,并且在生成令牌时设置了youtube范围。

这里是我用来授权oauth流中的应用程序的客户端。我已经尝试了youtube范围和youtube.readonly作用域,并且都没有暴露commenThreads。

$client = new Google_Client(); 
$client->setClientId($auth_config['client_id']); 
$client->setClientSecret($auth_config['client_secret']); 
$client->setRedirectUri($auth_config['redirect_uri'])); 
$client->addScope(Google_Service_YouTube::YOUTUBE); 
$client->setAccessType('offline'); 

在我的应用程序的其他地方,我使用像下面的令牌。

$client = new Google_Client(); 
$client->setAccessToken($access_token); 
$youtube = new Google_Service_YouTube($client); 
$comments = $youtube->commentThreads->listCommentThreads('snippet', [ 'videoId' => $videoId]); 

我可以查看用户的视频而据我可以告诉我应该有权限查看评论太多。我错过了什么?我的代码几乎与PHP客户端库示例相同。

回答

2

我找到了解决方案。使用force-ssl作用域修复了它。

$client->addScope(Google_Service_YouTube::YOUTUBE_FORCE_SSL); 

不确定为什么ssl范围在普通的youtube范围不工作时工作,特别是仅用于列出注释。

1

对于JavaScript开发者

var OAUTH2_SCOPES = [ 
    'https://www.googleapis.com/auth/youtube', 
    'https://www.googleapis.com/auth/youtube.force-ssl' 
]; 

从YouTube的API来获取注释添加 https://www.googleapis.com/auth/youtube.force-ssl 到这个OAUTH2_SCOPES阵列