0

我正在使用 FacebookMobile API 在 FlashDevelop 中处理 ActionScript Air Mobile 项目,以获取和排序用户的朋友列表。我目前正在使用 FacebookMobile.batchRequest() 来获取我想要的信息,它工作正常。

工作代码:

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

传递给 handleFriendsList() 的结果 JSON 对象包含用户朋友的列表。每个朋友都包含一个 id 和一个 name 字段。只有安装了应用程序的朋友才会包含设置为“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() 中收到此错误,并且仅在我要求安装和名称字段时才会发生。当我只询问“我/朋友”而不指定已安装和名称字段时,FacebookMobile.api() 工作得很好。

有谁知道为什么会这样?

4

1 回答 1

1

尝试使用params参数发出请求。

FacebookMobile.api("me/friends", handleFriendsList, {fields:"installed,name"});
于 2013-04-09T21:55:17.720 回答