0

我正在使用FacebookMobile API獲取和排序用戶的朋友列表,並正在使用FlashDevelop中的ActionScript Air Mobile項目。我目前正在使用FacebookMobile.batchRequest()來獲取我想要的信息,它工作正常。AS3 Facebook API:訪問令牌錯誤消息

工作代碼:傳遞給handleFriendsList()

var installedBatch:Batch = new Batch(); 
installedBatch.add("me/friends?fields=installed,name", handleFriendsList); 
FacebookMobile.batchRequest(installedBatch); 

產生的JSON對象包含了用戶的朋友列表。每個朋友都包含一個ID和一個名字字段。只有安裝了應用程序的朋友纔會包含已設置爲「true」的已安裝字段。我想用FacebookMobile.api()將其壓縮到一行,但是當我嘗試獲取並出錯時。

嘗試代碼:

FacebookMobile.api("me/friends?fields=installed,name", handleFriendsList); 

這將導致在同一個JSON對象傳遞給handleFriendsList(),而是我得到一個錯誤抱怨我沒有積極的訪問令牌。

錯誤:

message = "An active access token must be used to query information about the 
current user." 

奇怪的是,我只用FacebookMobile.api()得到這個錯誤,當我問安裝和name字段時纔會發生。 FacebookMobile.api()工作得很好,當我只要求「我/朋友」而不指定安裝的和名稱字段。

有誰知道爲什麼會發生這種情況?

+1

在爲Facebook開發時請注意。他們經常更新Graph API。跟蹤他們的開發者頁面。 – 2013-04-09 08:52:43

回答

1

嘗試使用params參數提出請求。

FacebookMobile.api("me/friends", handleFriendsList, {fields:"installed,name"}); 
+0

這個伎倆!我完全忘了看這個參數的論點。謝謝您的幫助。 – Macros185 2013-04-10 18:24:48