#actionscript-3 #actionscript #facebook-graph-api
#actionscript-3 #actionscript #facebook-graph-api
Вопрос:
Если я использовал Facebook.ui (), чтобы разрешить пользователю выбирать группу своих друзей, как я могу использовать возвращенный массив request_ids для доступа к друзьям / каналам, пожалуйста?
Я пробовал следующее:
Facebook.ui("apprequests", { message:"select some friends" }, handleAppRequest, "iframe");
который позволяет выбирать друзей, чтобы рассказать о приложении. Затем я делаю следующее:
private function handleAppRequest(result:Object):void
{
Debug.logObject(result, this, "handleAppRequest");
for (var i:int = 0; i < result.request_ids.length; i )
{
var requestID:String = result.request_ids[i];
Facebook.api("/" requestID, handleRequestFriends);
}
}
чтобы выбрать друзей, возвращенных в результирующем объекте (который, я думаю, может быть тем, где я ошибаюсь), и затем это возвращает сбой:
private function handleRequestFriends(success:Object, fail:Object):void
{
if (success) trace("success");
else trace(fail);
}
Заранее спасибо
об
РЕДАКТИРОВАТЬ: (новые пользователи не могут ответить на свой собственный вопрос)
Еще раз привет, Майкл
ах, я понял
это должно быть следующее:
Facebook.ui("apprequests", { message:"select some friends" }, handleAppRequest, "iframe");
private function handleAppRequest(result:Object):void
{
for (var i:int = 0; i < result.request_ids.length; i )
{
var requestID:String = result.request_ids[i];
Facebook.api("/" requestID, handleRequestFriends);
}
}
private function handleRequestFriends(success:Object, fail:Object):void
{
if (success)
{
var values:Object =
{
access_token:Facebook.getSession().accessToken,
name:"This is my title",
link:"http://example.com",
picture:"http://example.com/facebook/facebooktutorial/canvas/images/icon-75x75.gif",
caption:"this is a caption",
message:"This is a test message on " new Date().toString()
};
var friendID:String = success.to.id;
Facebook.api("/" friendID "/feed", handleSubmitFeed, values, URLRequestMethod.POST);
}
else
{
Debug.logObject(fail, this, "handleRequestFriends");
}
}
Хотя один вопрос — могу ли я использовать facebook friend selector и просто возвращать результаты без отправки им apprequest?
спасибо ob
Ответ №1:
я бы снова посоветовал вам использовать параметры для отправки вашего access_token, как в вашем предыдущем вопросе 🙂
private function handleAppRequest(result:Object):void
{
Debug.logObject(result, this, "handleAppRequest");
for (var i:int = 0; i < result.request_ids.length; i )
{
var requestID:String = result.request_ids[i];
var _params:Object = new Object();
_params.access_token = Facebook.getSession().accessToken;
Facebook.api("/" requestID, handleRequestFriends, _params, "GET");
}
}
и я предполагаю, что вы пытаетесь получить пользователя, потому что, если вы хотите опубликовать в их ленте, вы должны просто использовать
var _params:Object = new Object();
_params.access_token = Facebook.getSession().accessToken;
_params.message = _message;
Facebook.api("/" requestID "/feed", handleRequestFriends, _params, "POST");
редактировать: кстати: вы уверены, что получаете правильные идентификаторы с помощью этого метода? (раньше не обращался к списку друзей, поэтому понятия не имею).
Комментарии:
1. я отредактировал исходное сообщение, чтобы добавить ответ, а также задать еще один вопрос: Могу ли я использовать facebook friend selector и просто возвращать результаты без отправки им apprequest?
2. я думаю, вы могли бы запустить apprequest, но если вы перенаправите его на функцию, которая ничего не делает, кроме хранения друзей в массиве, это не причинит вреда, я полагаю? или что именно вы хотите знать? 🙂
3. хммм — проблема в том, что вызов Facebook.ui («apprequests») фактически запускает событие для пользователей бесплатно, поэтому я не могу остановить это.
4. ну да, это срабатывает, но вам не обязательно перехватывать это событие сейчас, не так ли? 🙂
5. Я думаю, что с помощью Facebook.ui () Facebook выполняет всю работу по сбору пользователей и отправке уведомлений за меня — на самом деле я не тот, кто реализует уведомление приложения, хотя я использую возврат из метода, чтобы затем добавить некоторую функциональность.