Squeak.ru - шаблоны программирования

Исключение при инициализации gapi из google plus mobile chrome

В моем приложении я использую google auth, для этого я загружаю некоторые библиотеки google. Когда я делюсь своим приложением в Google Plus, а затем перехожу в приложение Google Plus на своем мобильном телефоне (Android) и открываю его, я получаю исключение при инициализации аутентификации Google. Это происходит только при открытии моего приложения из ссылки Google Plus на общий доступ к приложению.

Я отлаживал Google Plus Chrome со своего рабочего стола и вот что я нашел:

Существует исключение при попытке инициализировать auth2:

Uncaught TypeError: _.RE is not a function
pZ                                              @ cb=gapi.loaded_1:formatted:1705
jF                                              @ cb=gapi.loaded_1:formatted:1481
_.hN                                            @ cb=gapi.loaded_1:formatted:1770
(anonymous function)                            @ google.js:200
(anonymous function)                            @ client:plusone.js?_=1463374618220:10
Ea                                              @ client:plusone.js?_=1463374618220:4
b                                               @ client:plusone.js?_=1463374618220:10
F.(anonymous function).F.(anonymous function)   @ client:plusone.js?_=1463374618220:10
c                                               @ client:plusone.js?_=1463374618220:10
(anonymous function)                            @ client:plusone.js?_=1463374618220:10
Ea                                              @ client:plusone.js?_=1463374618220:4
b                                               @ client:plusone.js?_=1463374618220:10
F.(anonymous function).F.(anonymous function)   @ client:plusone.js?_=1463374618220:10
c                                               @ client:plusone.js?_=1463374618220:10
(anonymous function)                            @ client:plusone.js?_=1463374618220:10
Ea                                              @ client:plusone.js?_=1463374618220:4
b                                               @ client:plusone.js?_=1463374618220:10
F.(anonymous function)                          @ client:plusone.js?_=1463374618220:10
C.(anonymous function)                          @ client:plusone.js?_=1463374618220:10
(anonymous function)                            @ cb=gapi.loaded_0:1

Вот мой код для инициализации gapi и auth:

if (!window.gapi) {
        $.getScript('//apis.google.com/js/platform.js', function () {
            $.getScript('//apis.google.com/js/client:plusone.js', function () {
                gapi.load('auth2', function(){
                    gapi.auth2.init({
                        client_id: 'my-client-id',
                        cookiepolicy: 'single_host_origin',
                        scope: 'profile email https://www.googleapis.com/auth/plus.circles.read'
                      }).then(function(){
                          auth2 = arguments[0];
                        authPromise.resolve();
                      },
                      function(){
                        authPromise.reject();
                      });
                });

                gapi.load('client', function() { 
                    gapi.client.load('plus', 'v1').then(function() {
                        clientPromise.resolve();
                    }, function(){
                        clientPromise.reject();
                    });
                }, function(){
                    clientPromise.reject();
                });

            });
        });

Разница, которую я обнаружил между моим приложением при открытии из Chrome или при открытии из приложения Google Plus, заключается в загружаемых файлах:

  • рабочая версия: введите здесь описание изображения
  • Не рабочая версия: введите здесь описание изображения

Ответы:


1

Кажется, я нашел проблему:

При инициализации google.auth2 я передал cookiepolicy: 'single_host_origin', удаление которого устранило проблему.

17.05.2016
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...