我正在尝试创建一个服务端 PHP 应用程序,该应用程序仅返回我的 Youtube 频道成员列表。该文档没有给出有关如何具体使用此范围的明确示例,并且 API 密钥或 OAuth 凭据到目前为止都不起作用。如果我使用 API 密钥,则会收到一条错误消息“此 API 不支持 API 密钥。需要 OAuth2 访问令牌或其他断言主体的身份验证凭据”。因此,在收到此错误时,我尝试使用 OAuth 客户端凭据,但我在文档中找到的信息表明我需要用户通过浏览器登录以获取访问令牌,然后获取信息,这将不起作用,因为这是服务器端独立应用程序。
我读到 Youtube API 不支持服务帐户,但在最后的努力中,我也尝试了这一点,这给了我一个错误,提示“访问被禁止。请求可能未得到正确授权。域:youtube.common”。
我的目标是创建一个只有我的 Youtube 会员才能访问的简单页面。我已经考虑从另一个方向做到这一点,通过在用户登录时获取用户会员信息,但我在文档中找不到任何有关该信息的信息,因此我现在将其搁置(但如果有人有任何信息)我很乐意去那个兔子洞)。
如果有人能对此有所启发,我将不胜感激。
我尝试过的
$client = new Google_Client();
$client->setApplicationName("Test");
$client->setScopes([
"https://www.googleapis.com/auth/youtube.channel-memberships.creator"
]);
$client->setAuthConfig(base_path() . '/' . env('SECRETS_FILE'));
$service = new Google_Service_YouTube($client);
$response = $service->members->listMembers('snippet');
print_r($response);
我所期待的
来自我自己的 Youtube 频道的成员对象列表
我已多次联系支持人员,直到其中一位表示此功能仅在您的合作伙伴经理批准的情况下才可用(不确定这是否是确切的名称)。 不幸的是,这种特殊的支持和功能仅适用于更大的创作者(我只有 4.8k)。