谷歌+;cb=gapi.loaded_0:41处的Javascript Signin Uncaught TypeError
我正试图在一个网站上实现Google+登录,遵循混合登录系统的说明。我更喜欢有自己的登录按钮,所以我选择通过普通的JavaScript方法gapi.auth.sign实现G+sign,并遵循中的说明 这是我主页上启动登录的按钮-谷歌+;cb=gapi.loaded_0:41处的Javascript Signin Uncaught TypeError,javascript,login,google-plus,Javascript,Login,Google Plus,我正试图在一个网站上实现Google+登录,遵循混合登录系统的说明。我更喜欢有自己的登录按钮,所以我选择通过普通的JavaScript方法gapi.auth.sign实现G+sign,并遵循中的说明 这是我主页上启动登录的按钮- <a id="gplogin" href="#"> <img src="{% static 'images/gp.png' %}"/> </a> 这里是GPLogin()部分,可能就是它抛出Javascript异常的地方- fu
<a id="gplogin" href="#">
<img src="{% static 'images/gp.png' %}"/>
</a>
这里是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
正如在铬中观察到的那样
用户选择弹出窗口如预期的那样出现,我可以选择用户,但在这之后任何地方都不会发生任何事情。我很确定这是一件我在某处忽略的小事,但我自己找不到。任何帮助都将不胜感激。谢谢大家! 在进行了大量搜索之后,我将范围缩小到了我自己的简单Javascript错误。我首先对所有调试语句进行注释,并按原样打印对象。这就是我发现我的回调函数在一次迭代中为authResult[res]获取一个对象的地方,因为我试图将它连接到一个字符串,所以抛出了一个TypeError
Google Plus的登录流程一直都很好,我的JS就是问题所在。当尝试记录附加参数[param]时,它在GPLogin()中起作用,因为它们都是字符串,并且与字符串连接没有问题。我想我应该澄清一下,我正在加载页面中的G+JS API-
,作为函数名/字符串传递的回调参数或函数对象本身没有任何区别。
Uncaught TypeError: Cannot convert object to primitive value at cb=gapi.loaded_0:41