Php YouTube数据API ListChannel请求有时获胜';t为具有多个通道的用户返回通道数据

Php YouTube数据API ListChannel请求有时获胜';t为具有多个通道的用户返回通道数据,php,youtube,youtube-api,youtube-data-api,Php,Youtube,Youtube Api,Youtube Data Api,我正在使用查询YouTube数据API 首先,我从具有以下作用域的用户处获取令牌: [ 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/youtube.readonly', 'https://www.googleapis.com/auth/yt-

我正在使用查询YouTube数据API

首先,我从具有以下作用域的用户处获取令牌:

[
    'https://www.googleapis.com/auth/userinfo.email',
    'https://www.googleapis.com/auth/userinfo.profile',
    'https://www.googleapis.com/auth/youtube.readonly',
    'https://www.googleapis.com/auth/yt-analytics-monetary.readonly',
    'https://www.googleapis.com/auth/yt-analytics.readonly',
    'https://www.googleapis.com/auth/youtubepartner',
    'https://www.googleapis.com/auth/youtubepartner-channel-audit',
]
然后我发出
listconnels
请求:

(new \Google_Service_YouTube($client))->channels->listChannels('snippet', [
    'mine'       => 'true',
    'maxResults' => 1,
]);
大多数时候,它就像一个符咒。我得到他们的频道数据

但有时它会抛出代码
401
异常,并显示错误消息:

{
 "error": {
  "errors": [
   {
    "domain": "youtube.header",
    "reason": "youtubeSignupRequired",
    "message": "Unauthorized",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Unauthorized"
 }
}
对于拥有多个频道的用户来说,这种情况似乎会发生。但我尝试在我的个人帐户中添加一个新频道,并在通过OAuth授权访问时选择该新频道。而且效果很好

就发生的原因而言,这是非常令人困惑的,错误消息也没有多大意义。因为他们的代币绝对是好的,我可以更新他们或者查询他们的Google Plus档案而不会出现问题

有人遇到过这个错误吗

基于此,
youtubeSignupRequired
表示该用户有一个未链接的帐户,这意味着该用户有一个Google帐户,但没有YouTube频道

如果尝试使用OAuth 2.0服务帐户流,则通常会出现此错误。YouTube不支持服务帐户,如果您尝试使用服务帐户进行身份验证,则会出现此错误

引入的Google帐户支持还更详细地讨论了youtubeSignupRequired错误。尽管博客文章解释了API版本2.1的错误,但错误的含义仍然适用

以下是一些可能会有所帮助的相关帖子:

  • 服务帐户与youtube不兼容。此外,请确保如果您使用的是gmail ID,它必须链接到youtube,否则您将获得401

  • “youtubeSignupRequired”的原因通常意味着YouTube帐户尚未正确设置,或者您尚未创建YouTube频道。这是上传视频之前的一项要求。如果谷歌能改进他们在这个案例中的错误信息,让它更详细一点,那就太好了

希望这有帮助

基于此,
youtubeSignupRequired
表示该用户有一个未链接的帐户,这意味着该用户有一个Google帐户,但没有YouTube频道

如果尝试使用OAuth 2.0服务帐户流,则通常会出现此错误。YouTube不支持服务帐户,如果您尝试使用服务帐户进行身份验证,则会出现此错误

引入的Google帐户支持还更详细地讨论了youtubeSignupRequired错误。尽管博客文章解释了API版本2.1的错误,但错误的含义仍然适用

以下是一些可能会有所帮助的相关帖子:

  • 服务帐户与youtube不兼容。此外,请确保如果您使用的是gmail ID,它必须链接到youtube,否则您将获得401

  • “youtubeSignupRequired”的原因通常意味着YouTube帐户尚未正确设置,或者您尚未创建YouTube频道。这是上传视频之前的一项要求。如果谷歌能改进他们在这个案例中的错误信息,让它更详细一点,那就太好了

希望这有帮助