从 google 加手机 chrome 初始化 gapi 时出现异常

Exception in when initializing gapi from google plus mobile chrome

在我的应用程序中,我使用 google 身份验证,我为此加载了一些 google 库。 当我在 google plus 中共享我的应用程序,然后转到我手机上的 google plus 应用程序 (android) 并打开它时,我在初始化 google auth 时遇到异常。 仅当从 google 加上应用共享 link.

打开我的应用程序时才会发生这种情况

我从我的桌面调试了 google 加上 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 加应用程序打开时的区别是加载的文件:

我想我发现了问题:

初始化 google.auth2 时,我通过了 cookiepolicy:'single_host_origin',删除它解决了问题。