0

Я работаю над проектом ActionScript Air Mobile в FlashDevelop, используя API FacebookMobile, чтобы получать и сортировать списки друзей пользователей. В настоящее время я использую функцию FacebookMobile.batchRequest(), чтобы получить необходимую информацию, и она отлично работает.AS3 Facebook API: сообщение об ошибке токена доступа

Рабочий код:

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

Результирующий объект JSON передается handleFriendsList() содержит список друзей пользователя. Каждый друг содержит идентификатор и поле имени. Только друзья, у которых установлено приложение, содержат установленное поле, которое установлено как «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() отлично работает, когда я просто прошу «me/friends» без указания установленных и полей имени.

Кто-нибудь знает, почему это происходит?

+1

Знайте, что при разработке для facebook. Они часто меняют API-интерфейс Graph. Следите за их страницей разработчика. –

ответ

1

попробуйте сделать запрос, используя аргумент params.

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

Это сделало трюк! Я совершенно забыл посмотреть на аргумент params. Спасибо за помощь. – Macros185