4

У меня есть приложение, использующее Google Login для получения информации о канале YouTube (загрузка видео, подписки и т. Д.). Когда пользователь пытается войти в систему, они могут выбрать из списка учетных записей Google и после списка из Youtube-каналов, если у пользователя более одного. Но, когда выбран канал YouTube, API не работает.Ошибка входа в Google с учетными записями youtube

 
var login = function(options) {

if (!gapi.auth2){ // Retrieve the singleton for the GoogleAuth library and set up the client. gapi.load('auth2', function(){ gapi.auth2.init({ client_id: config.credentials.googleApiClientId, cookiepolicy: 'single_host_origin', scope: 'https://www.googleapis.com/auth/youtube.readonly' }); }); } var GoogleAuth = gapi.auth2.getAuthInstance(); return GoogleAuth.signIn(options); };

И обратного вызова JavaScript Google API говорит:

Object {type: "tokenFailed", idpId: "google", error: "USER_LOGGED_OUT"}

+0

Можете ли вы показать свой код? – Will

+0

Любое повезло с этим? –

ответ

0

Столкнулся с аналогичной проблемой, после того, как некоторое время экспериментов я получил эту работу, я не совсем уверен, что была проблема, с которой вещи, которые я изменился добавляет prompt: 'select_account' к signIn опционов и fetch_basic_profile: false опционам init вызова:

Вот jsbin that might work for you, сделать су re, чтобы добавить свой собственный client_id к вызову init и убедиться, что белый список домена output.jsbin.com и просмотреть jsbin из этого домена.

var auth2 = gapi.auth2.init({ 
    client_id: '', 
    scope: 'https://www.googleapis.com/auth/youtube', 
    fetch_basic_profile: false, 
    cookie_policy: 'single_host_origin' 
}); 


auth2.signIn({ 
    scope: 'https://www.googleapis.com/auth/youtube', 
    prompt: 'select_account' 
}).then(function(result) { 
    console.log('Signed in!'); 
    console.log(result); 
}, function(error) { 
    console.log(error); 
}); 
Смежные вопросы