【发布时间】:2014-06-10 15:10:39
【问题描述】:
我是 Javascript 的初学者,正在学习如何创建网站。我正在尝试将 google+ 登录功能添加到我的网络应用程序中,但无法通过 javascript 传递会话信息。我有 2 个 js 文件 - login.js 和 profile.js。当用户登录时,login.js 将运行,并从 profile.js 加载一个函数。我在 index.html 文件中包含了这两个脚本,但仍然出现此错误:loadProfile is not defined。被困了好几天,非常感谢一些指导!
这是我的代码
index.html
{head}
{script src="https://apis.google.com/js/plusone.js"}{/script}
{script src="https://apis.google.com/js/client:plusone.js"}{/script}
{/head}
{body}
{script type="text/javascript" src="Scripts/profile.js"}{/script}
{script type="text/javascript" src="Scripts/login.js"}{/script}
{input type="button" id="login" value="Login" onclick="login()" /}
{input type="button" id="logout" class="hide" value="Logout" onclick="logout()" /}
{script type="text/javascript" src="Scripts/logout.js"}{/script}
{/body}
login.js
function login() {
var myParams = {
'clientid' : '699XXXXXXX.apps.googleusercontent.com',
'cookiepolicy' : 'single_host_origin',
'callback' : 'loginCallback',
'approvalprompt':'force',
'scope' : 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com /auth/plus.profile.emails.read'
};
gapi.auth.signIn(myParams);
}
function loginCallback(result) {
if(result['status']['signed_in']) {
alert("Login Success");
var obj = gapi.auth.getToken();
loadProfile(); // Calls loadProfile() from profile.js
}
}
profile.js
function loadProfile(){
var request = gapi.client.plus.people.get( {'userId' : 'me'} );
request.execute(loadProfileCallback());
}
function loadProfileCallback(obj) {
profile = obj;
email = obj['emails'].filter(function(v) {
return v.type === 'account';
})[0].value;
displayProfile(profile);
}
>>> subsequently it's just some callback functions
【问题讨论】:
标签: javascript google-api google-plus