1
我的FQL查詢有問題。我閱讀了所有相關主題,但找不到我的錯誤。 我的Facebook應用程序具有以下權限:email,user_birthday,user_likes,read_stream。 函數內我想獲得如果用戶喜歡我的頁面,但我的查詢返回沒有結果!在Graph API瀏覽器中測試了相同的查詢並得到結果。這是函數:FQL查詢返回無結果
function getUserInfo(accessToken) {
FB.api('/me', function (response) {
var user_id = response.id;
var page_id = "40796308305"; //page id for like
var fql_query = "SELECT uid FROM page_fan WHERE page_id = " + page_id + "and uid=" + user_id; // +"&access_token=" + accessToken.toString();
var the_query = FB.Data.query(fql_query);
alert(fql_query);
//第一種方式
FB.api({
method: 'fql.query',
query: fql_query,
access_token: accessToken
}, function (resp) {
alert(resp);
if (resp.length) {
alert('A fan!');
$("#container_like").show();
$("#container_notlike").hide();
document.getElementById('displayname').innerHTML = response.name;
document.getElementById('FBId').innerHTML = response.id;
} else {
alert('Not a fan!');
$("#container_notlike").show();
$("#container_like").hide();
}
}
);
//第二種方式
the_query.wait(function (rows) {
if (rows.length == 1 && rows[0].uid == user_id) {
alert('A fan!');
$("#container_like").show();
$("#container_notlike").hide();
document.getElementById('displayname').innerHTML = response.name;
document.getElementById('FBId').innerHTML = response.id;
} else {
alert('NOT a fan!');
$("#container_notlike").show();
$("#container_like").hide();
}
});
});
}
中的accessToken在fql_query裏面第二種方式使用(現在的評論)。我把它從代碼:
FB.getLoginStatus(function (response) {
if (response.status === 'connected') {
var accessToken = response.authResponse.accessToken;
getUserInfo(accessToken);
...等等。所以我看到我所有的警報,但查詢返回沒有數據。有什麼問題?
你有一點。我發佈在服務器上,FB.api正在工作,但FB.Data.query(fql_query)不是。我現在的問題是,當用戶按下Like時,頁面會重新加載,但fql不會返回任何動作。我必須離開應用程序頁面,然後再次訪問。 –