Google登录在切换到辅助Youtube帐户时会出错

Vla*_*lad 13 google-api youtube-api gapi google-oauth2 google-signin

我目前正在尝试使用gapi.auth2Google Sign-In for Websites API,这是我的代码:

- 加载库:

<script src="https://apis.google.com/js/platform.js?onload=onLoadGapiCallback" async defer></script>

- 初始化auth2变量:

var auth2;

window.onLoadGapiCallback = () => {
  gapi.load('auth2', () => {
    auth2 = gapi.auth2.init({
      'client_id': 'CLIENT_ID',
      'scope': 'profile email https://www.googleapis.com/auth/youtube.readonly'
    });
  });
};
Run Code Online (Sandbox Code Playgroud)

- 点击按钮时:

auth2.signIn().then(() => {
  console.log('auth is:', auth2.currentUser.get().getAuthResponse().access_token);
});
Run Code Online (Sandbox Code Playgroud)

这很有效,它初始化auth2变量,当我点击按钮时,它会显示SingIn提示,我选择了一个我的Google帐户.问题是从现在开始我必须选择一个YouTube帐户,如果我选择其他帐户而不是主帐户,我会得到一个像这样的异常对象:

{type: "tokenFailed", idpId: "google", error: "USER_LOGGED_OUT"}
Run Code Online (Sandbox Code Playgroud)

还有一个最后发送的XHR请求有这个响应:

{"error":"USER_LOGGED_OUT","detail":"No active session found."}
Run Code Online (Sandbox Code Playgroud)

所以它只适用于我选择主帐户,但我无法选择其他YouTube帐户.

我在这里错过了什么?我查看了所有这些文档,但没有人帮助我:

获取个人资料信息

Google登录JavaScript客户端参考

监视用户的会话状态

更新:从运行该代码示例(但与此scope:'profile email https://www.googleapis.com/auth/youtube.readonly')如果让我选择的第一个YouTube帐户每个谷歌账户才会工作.如果我选择任何其他Youtube帐户,我会收到此警报错误:

在此输入图像描述