Ошибка инициализации Google Auth API Javascript idpiframe в Chrome

Я использую GSuite, и я кодирую очень простое веб-приложение для использования API Google Auth, и я получаю исключение "idpiframe_initialization_failed".

теперь у меня есть точный HTML, как показано в примере google: https://developers.google.com/api-client-library/javascript/samples/samples

1) я создал проект на Консоль Разработчика Google

2) я настраиваю экран авторизации OAUTH

3) я создал идентификатор клиента, создание ограничений и перенаправление URL

4) я также создал ключ API

5) Наконец, я включил API People, потому что службы discovery не смогли установить параметр discoveryDocs

со всеми этими шагами, когда я вызываю gapi.клиент.init, это вызывает исключение только в chrome, я не могу понять, почему.

код для инициализации API:

    gapi.client.init({
        apiKey: 'MY_API_KEY',
        discoveryDocs: ["https://people.googleapis.com/$discovery/rest?version=v1"],
        clientId: 'MY_CLIENT_ID.apps.googleusercontent.com',
        scope: 'profile'
    }).then(function (response) {
      // Listen for sign-in state changes.
      gapi.auth2.getAuthInstance().isSignedIn.listen(updateSigninStatus);

      // Handle the initial sign-in state.
      updateSigninStatus(gapi.auth2.getAuthInstance().isSignedIn.get());
    },function(reason){
        console.log('onerror');
        console.log(reason);
      // Listen for sign-in state changes.
      gapi.auth2.getAuthInstance().isSignedIn.listen(updateSigninStatus);

      // Handle the initial sign-in state.
      updateSigninStatus(gapi.auth2.getAuthInstance().isSignedIn.get());

код запуск блока ошибок, и сообщение:

details: "Failed to read the 'localStorage' property from 'Window': Access is denied for this document."
error:"idpiframe_initialization_failed"

есть идеи, почему я вхожу в эту ошибку?

спасибо!

2 ответов


Я столкнулся с такой же проблемой. Потратив некоторое время, нашел причину. Эта ошибка вызвана тем, что в настройках chrome включена опция блокировать сторонние файлы cookie и данные сайта.

Это можно решить, отключив эту опцию: "Чтобы найти настройки, Откройте настройки Chrome, введите "Настройки содержимого" в поле поиска, нажмите кнопку "Настройки содержимого" и просмотрите четвертый элемент в разделе "Cookies"." Снимите флажок " блокировать сторонние файлы cookie и сайт данные."

надеюсь, это поможет вам в решении Вашего вопроса.

enter image description here


в моем случае мне просто пришлось немного подождать, пока Google примет во внимание происхождение. Я не могу сказать точно, сколько времени это заняло. Я ждал ~30 минут. Затем я пошел спать и на следующее утро.

Edit: Ooops я только что понял, что использую http://, а не https://. Вот в чем была проблема.