我希望全局存储extentAT变量以进行进一步的图形API调用。请帮我存储这个变量。这是我的代码示例
FB.login(function(response) {
if (response.authResponse)
{
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
alert(accessToken);
appid="xxxxxxxxxx";
appsecret="xxxxxxxxxxxxxxxxxxxxxxx";
var exchangeUrl = "https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&fb_exchange_token="+accessToken+"&client_id="+appid+"&client_secret="+appsecret;
//got the accesstoken with 1-2 hours expire time
$.ajax({
type: "GET",
url: exchangeUrl,
success: function(data)
{
extended = data.split('=');
extendedAT = extended['1'].replace('&expires','');
alert(extendedAT);
// return extendedAT;
// $('#AccessToken').val(extendedAT);
// $user_session = new Zend_Session_Namespace('fbuser');
// $user_session->access_token = $paramsfb['access_token'];
}
});
} else
{
console.log('User cancelled login or did not fully authorize.');
}
},{scope: 'email,user_photos,user_videos,offline_access'});
}
答案 0 :(得分:0)
只需将extendedAT
变量的声明放在函数之外:
var extendedAT = "";
FB.login(function(response) {
...
}
答案 1 :(得分:0)
您可以使用会话来存储值并将其设置为所需的位置。 这是jQuery会话的参考链接。
https://github.com/AlexChittock/JQuery-Session-Plugin
只需在会话中存储价值,如:
$.session.set("extendedAT", extendedAT);
并将其转到您想要再次使用的位置:
$.session.get('extendedAT');
我正在使用它。希望能帮助你。
如果有任何新想法,我也会很高兴。