Я пытаюсь внедрить Google+ Signin на веб-сайте, следуя инструкциям от here для гибридной системы входа в систему. Я предпочитаю иметь свою собственную кнопку для входа в систему, поэтому я решил реализовать G + signin посредством простого метода JavaScript gapi.auth.signIn, следуя инструкциям от here.Google+ Javascript Signin Uncaught TypeError at cb = gapi.loaded_0: 41
Вот кнопка у меня на моей главной странице, которая инициирует вход -
<a id="gplogin" href="#">
<img src="{% static 'images/gp.png' %}"/>
</a>
Вот соответствующий JQuery кусок, который поднимает щелчок, это работает тоже хорошо -
$('#gplogin').click(
function() {
GPLogin();
return false;
});
Вот часть GPLogin(), которая, вероятно, там, где она бросает исключение Javascript -
function GPLogin() {
// Define all the login params
var additionalParams = {
'clientid' : 'xxxxxxxx.apps.googleusercontent.com',
'scope' : 'https://www.googleapis.com/auth/plus.login',
'redirecturi' : 'postmessage',
'requestvisibleactions' : 'http://schema.org/AddAction',
'cookiepolicy' : 'single_host_origin',
'accesstype' : 'offline',
// 'approvalprompt' : 'force',
'callback': gpSigninCallback
};
console.log('Logging in to Google Plus with additional params - ');
for(var param in additionalParams)
console.log(param + " : " + additionalParams[param])
gapi.auth.signIn(additionalParams);
}
Вот моя функция gpSigninCallback, которая никогда не вызывался, за счет исключения брошенной когда я нажимаю «gplogin» ссылка
function gpSigninCallback(authResult) {
console.log("GP Signin response " + authResult);
for(var res in authResult)
console.log(res + " : " + authResult[res]) }
Исключение, которое бросают, когда я нажимаю на ссылку gplogin является
Uncaught TypeError: Cannot convert object to primitive value at cb=gapi.loaded_0:41
, как это наблюдается в Chrome.
Всплывающее окно выбора пользователя появляется, как ожидается, и я могу выбрать пользователя, но после этого ничего не происходит. Я почти уверен, что это небольшая вещь, которую я где-то просматриваю, но я не могу найти ее сам. Любая помощь будет оценена по достоинству. Спасибо !
Просто подумал, что я должен уточнить, я загружаю API G + JS в
на странице - ' ' Кроме того, параметр обратного вызова передается как имя функции/строка или сам объект функции, не имеет значения. – radhashankark