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