В моем приложении я использую 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, заключается в загружаемых файлах: