Google+登录:无法为授权请求选择辅助YouTube帐户

Vla*_*lad 5 google-authentication google-account youtube-data-api gapi google-signin

为了使请求Youtube Data APIyoutube.channels.listmine设定参数true,我必须做出适当的授权请求,即我需要提供绑定到该通道的令牌.

为了获得该令牌,我从这里使用Google客户端库:

<script src="//apis.google.com/js/client:platform.js"></script>
Run Code Online (Sandbox Code Playgroud)

这使我能够代表某个Google帐户发出身份验证请求.

考虑到这一点,我有这个代码:

var parameters = {
  'clientid': 'CLIENT_ID',
  'scope': 'https://www.googleapis.com/auth/plus.profile.emails.read https://www.googleapis.com/auth/youtube.readonly',
  'cookiepolicy': 'single_host_origin',
  'include_granted_scopes': true,
  'callback': 'googleLogin'
};

gapi.auth.signIn(parameters);

...

window.googleLogin = (authResult) => {
  if (authResult[ 'error' ] == 'immediate_failed') return;

  if (authResult[ 'status' ][ 'signed_in' ]) {
    // make GET request to https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true
    // with Authorization header `Bearer ${gapi.auth.getToken().access_token}`        
  } else {
    console.log("singned out");
  }
};
Run Code Online (Sandbox Code Playgroud)

现在的问题是,在我选择我的Google帐户之后,让我们说Youtube帐号.2,我得到的结果好像我选择了主要的Youtube帐户.

所以这里的问题是我得到的令牌gapi.auth不以任何方式考虑我选择的Youtube帐户,它总是为主帐户生成令牌(第1号).

  • 我在唱歌前尝试退出,但没有做任何事情.
  • 我也尝试过使用gapi.auth2,但是有了这个,我得到了另一个烦人的行为,我在这里描述过:link

更奇怪的是,如果我尝试多次在Youtube帐户之间切换,它有时会请求正确的帐户,因此代码是正确的,但仍然无法提供所需的结果.

那么如何根据某个Youtube帐户提出正确的授权请求?