簡體   English   中英

FQL Javascript訪問令牌

[英]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個屬性: permssessionstatus 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM