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() を使用してこれを 1 行に要約したいのですが、実行しようとするとエラーが発生します。

試みたコード:

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() は、インストール済みフィールドと名前フィールドを指定せずに「me/friends」を要求するだけで問題なく動作します。

なぜこれが起こっているのか誰にも分かりますか?

4

1 に答える 1

1

params引数を使用してリクエストを作成してみてください。

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