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」を要求するだけで問題なく動作します。
なぜこれが起こっているのか誰にも分かりますか?