Youtube API 在请求评论时返回权限不足

Youtube API returning Insufficient Permission when requesting comments

我正在尝试检索用户视频的评论主题,但出现 403 权限不足错误。

我在开发者控制台中的 oAuth 客户端启用了 Youtube 数据 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 客户端库示例相同。

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

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

不确定为什么 ssl 作用域在普通 youtube 作用域不起作用时起作用,尤其是对于仅列出评论的情况。

对于 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 数组