2011-04-15 54 views
0

如果我已經使用Facebook.ui()來允許用戶選擇他們的一羣朋友,我該如何使用返回的request_ids數組來訪問好友/提要?facebook actionscript圖形API - 使用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); 
} 

在此先感謝 OB

編輯:(新用戶不能回答自己的問題)

嘿再次米希爾

啊我得到它

它應該是以下幾點:

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的朋友選擇,只是返回結果沒有apprequest發射了他們?

感謝 OB

回答

1

我會再次建議您使用PARAMS發送您的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"); 

編輯:順便說一句:你確定你所得到的權限ID的用這種方法? (之前沒有訪問好友列表,所以我不知道)。

+0

我編輯了原帖以添加答案,並提出另一個問題:一個問題 - 我可以使用Facebook的朋友選擇器,只是返回結果沒有apprequest發射到他們? – obie 2011-04-15 11:58:39

+0

我想你可以有一個apprequest解僱他們,但是如果你將它重定向到一個只能將朋友存儲在數組中的函數,那麼它可以不會造成任何傷害嗎?或者你想知道什麼? :) – 2011-04-15 12:05:00

+0

嗯 - 問題是,Facebook.ui(「apprequests」)的調用實際上是免費向用戶發送事件,所以我無法阻止這種情況發生。 – obie 2011-04-15 13:35:56