facebook actionscript graph api — использование идентификаторов запроса для извлечения пользователей

#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 выполняет всю работу по сбору пользователей и отправке уведомлений за меня — на самом деле я не тот, кто реализует уведомление приложения, хотя я использую возврат из метода, чтобы затем добавить некоторую функциональность.