Facebook的图形API函数 - 空回复
即时通讯工作在facebook集成到我的手机AS3游戏。我正在下载朋友图片,效果很好,目前不是问题。问题是,我试图检测,如果用户有剪影(默认)图片或他自己的(is_silhouette属性);Facebook的图形API函数 - 空回复
这里不用代码:
(反应[I] .ID)是一个我已经从以前的API交际得到第一
...
HasDefault(response[i].id);
...
private function HasDefault(uid:int):void{
FacebookMobile.api("/"+uid+"/picture", callbackX);
}
private function callbackX(response:Object,fail:Object):void{
if (response != null){
trace(response.url);
trace(response.is_silhouette);
}else{
trace("here goes nothing...");
}
第一件事情有效的用户ID ...此代码上面有2个的问题。第一个问题是,除非我使用绝对URL,Facebook并没有回应,所以API方法实际上是这样的:
FacebookMobile.api("https://graph.facebook.com/"+uid+"/picture", callbackX);
我不知道为什么我要在这里使用绝对URL,因为其他地方的ID /功能足够好......但这仍不是主要问题。
如果我使用绝对URL,我得到了来自Facebook的有效答复,但根据https://developers.facebook.com/docs/reference/api/using-pictures/我应该在response对象中得到response.url和response.is_silhouette。然而,我只接受空的回应对象......我开始变得绝望。
此外,我试图粘贴相同的请求到https://developers.facebook.com/tools/explorer Explorer和意外的惊喜......它返回
{
"data": {
"url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-frc1/somenumbers.jpg",
"is_silhouette": false
}
}
...这正是我需要的...但在应用程序中我只得到空响应对象...
我不知道你在线“FacebookMobile.api(”https://graph.facebook.com/“+ uid +”/ picture“,callbackX);”确实。 但是无论什么图书馆,停止使用它,因为它不让你指定你想要的呼叫。您可以使用URLLoader自己调用图形API调用。
所以这里是错误的神奇的事情:你需要能够追加一个额外的变量,当你请求图片:“?redirect = false” 这告诉Facebook给你一个JSON响应。如果你没有这个变量,你会得到一个重定向到实际的图像,这通常是一个人想要的。 要了解它的工作原理,请测试下面的两个链接,一个使用redirect = false - 您想要的。一个与它设置为真 - 你不这样做。
https://graph.facebook.com/shaverm/picture?redirect=false
https://graph.facebook.com/shaverm/picture?redirect=true
我敢肯定发生了什么事是你所得到的图像,而不是后面的描述图像的JSON响应。
我会研究。顺便说一下,FacebookMobile是OpenDraw API的官方Adobe sdk ... – Casper522 2013-04-30 19:19:53
啊,是的。那个东西。最后更新于2011年10月? https://code.google.com/p/facebook-actionscript-api/source/list 我想也许有时间放弃它,并直接切换到调用图形。 – 2013-04-30 19:42:20
你是对的人,我试图加载它与重定向虚假通过standart加载器/请求模型,它的工作就像一个魅力,谢谢。是的,也许是,谢谢你的建议 – Casper522 2013-04-30 19:44:17
对于启蒙,这是前面的问题:http://stackoverflow.com/questions/16307115/facebook-graph-api-function-empty-response – 2013-05-01 15:05:59