Вход в Google выдает ошибку при переходе на дополнительные учетные записи Youtube
Я сейчас пытаюсь использовать gapi.auth2
из Google Sign-In для веб-сайтов 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'
});
});
};
- и когда нажата кнопка, сделайте:
auth2.signIn().then(() => {
console.log('auth is:', auth2.currentUser.get().getAuthResponse().access_token);
});
Это хорошо работает, он инициализирует переменную auth2, когда я нажимаю кнопку, он показывает SingIn
и я выберу одну из моих учетных записей Google. Проблема в том, что теперь, когда мне нужно выбрать учетную запись YouTube, если я выберу другую учетную запись, а не главную, я получу объект исключения, подобный этому:
{type: "tokenFailed", idpId: "google", error: "USER_LOGGED_OUT"}
также есть последний запрос XHR, который имеет этот ответ:
{"error":"USER_LOGGED_OUT","detail":"No active session found."}
Так что это работает, только если я выбираю основной аккаунт, но я не могу выбрать другие аккаунты YouTube.
Что мне здесь не хватает? Я просмотрел все эти документы, но никто не помог мне:
Получение информации о профиле
Ссылка на JavaScript для входа в Google
Мониторинг состояния сеанса пользователя
Обновление: запуск кода из этого примера (но с этим scope
: 'profile email https://www.googleapis.com/auth/youtube.readonly'
) будет работать только в том случае, если я выберу первую учетную запись Youtube для каждой учетной записи Google. Если я выберу любую другую учетную запись Youtube, я получу эту ошибку: