如果我使用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);
}
提前致谢 OB
编辑:(新用户无法回答他们自己的问题)
嘿嘿Michiel
啊,我知道了
应该如下:
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
答案 0 :(得分: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");
}
}
并且我假设您正在尝试吸引用户,因为如果您想要发布到他们的Feed中,您应该只使用
var _params:Object = new Object();
_params.access_token = Facebook.getSession().accessToken;
_params.message = _message;
Facebook.api("/" + requestID + "/feed", handleRequestFriends, _params, "POST");
编辑:顺便说一句:你确定你用这种方法得到了正确的id吗? (之前没有访问好友列表,所以我不知道)。