[英]Adding an access token to an FQL using the facebook javascript sdk
[英]FQL Javascript Access Token
我對於以任何形式使用FQL還是一個新手,很抱歉,如果這是一個簡單的問題,但我似乎無法解決。
我有嘗試獲取好友列表的這段代碼:
var query = FB.Data.query('SELECT '+response.id+', '+response.name+' FROM friendlist from user where uid=' + response.id);
但是我一直回想的回應是
“必須使用活動訪問令牌來查詢有關當前用戶的信息。”
當我從/ me查詢中拉回響應對象時,我看到了我所有的信息,例如位置,名稱,工作等。但是我沒有看到任何訪問令牌
代碼開始如下:
window.fbAsyncInit = function() {
FB.init({appId: '12...0', status: true, cookie: true, xfbml: true});
/* All the events registered */
FB.Event.subscribe('auth.login', function(response) {
// do something with response
login();
});
FB.Event.subscribe('auth.logout', function(response) {
// do something with response
logout();
});
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
login();
}
});
如何獲取訪問令牌並與FQL查詢一起提供?
感謝您提前提出任何建議!
用戶成功登錄后,facebook將為您提供用於執行對Graph API的所有類型的請求(包括FQL查詢)的訪問令牌。
如果您使用的是Firebug,請在用戶登錄后執行console.log(response)
以查看您收到的對象。
FB.Event.subscribe('auth.login', function(response) {
console.log(response);
// do something with response
login();
});
它應該包含3個屬性: perms
, session
和status
。 perms
包含一個具有用戶授予的權限的列表,該status
是當前用戶的狀態。 對您而言重要的是session
屬性。 這也是一個對象,其中除其他外,還有一個access_token
屬性(字符串),可用於向API發出請求。
因此,您的查詢可能如下所示:
var query = FB.Data.query('SELECT '+response.id+', '+response.name+' FROM friendlist from user where uid=' + response.id + '&access_token='+response.session.access_token);
如果要以更好的方式獲取會話,請使用FB.getSession
,它返回當前會話。 更多信息在這里 。
祝好運 !
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.