【问题标题】:Facebook graph api function - empty responseFacebook 图形 api 函数 - 空响应
【发布时间】:2013-04-30 19:01:59
【问题描述】:

我目前正在将 Facebook 集成到我的移动 AS3 游戏中。我正在下载朋友的图片,效果很好,目前不是问题。问题是,我试图检测用户是否有剪影(默认)图片或他自己的(is_silhouette 属性);

代码如下:

(response[i].id) 是我从之前的 api 通信中获得的有效用户 ID

...
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...");
    }

第一件事...上面的代码有两个问题。第一个问题是,除非我使用绝对 URL,否则 facebook 不会响应,所以 API 方法实际上是这样的:

FacebookMobile.api("https://graph.facebook.com/"+uid+"/picture", callbackX);

我不知道为什么我必须在这里使用绝对 url,因为其他任何地方 id/function 都足够好......但这仍然不是主要问题。

如果我使用绝对 URL,我确实会从 facebook 获得有效响应,但根据 https://developers.facebook.com/docs/reference/api/using-pictures/,我应该在我的响应对象中获得 response.url 和 response.is_silhouette。但是我只收到空的响应对象...我开始非常绝望。

此外,我尝试将相同的请求粘贴到 https://developers.facebook.com/tools/explorer 资源管理器中,然后惊喜......它返回了

{
  "data": {
    "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-frc1/somenumbers.jpg", 
    "is_silhouette": false
  }
}

...这正是我需要的...但在应用程序中我只得到空响应对象...

【问题讨论】:

标签: facebook actionscript-3 facebook-graph-api mobile air


【解决方案1】:

我不知道你在哪一行 "FacebookMobile.api("https://graph.facebook.com/"+uid+"/picture", callbackX);"做。 但无论是什么库,停止使用它,因为它不允许您指定要进行的调用。您可以使用 URLLoader 自己调用图形 api 调用。

所以这就是出错的神奇之处:当您请求图片时,您需要能够附加一个额外的变量:“?redirect=false” 这告诉 facebook 给你一个 json 响应。如果您没有该变量,您将获得到实际图像的重定向,这通常是人们想要的。 要了解它是如何工作的,请测试下面的两个链接,其中一个带有 redirect=false - 你想要的。并且 One 设置为 true - 你没有。

https://graph.facebook.com/shaverm/picture?redirect=false

https://graph.facebook.com/shaverm/picture?redirect=true

我很确定正在发生的事情是您正在获取图像,而不是描述图像的 json 响应。

【讨论】:

  • 我会调查的。顺便说一句,FacebookMobile 是 OpenGraph API 的官方 Adob​​e sdk ...
  • 啊,是的。那个东西。最后更新于 2011 年 10 月? code.google.com/p/facebook-actionscript-api/source/list 我想也许是时候放弃它并切换到直接调用图表了。
  • 你是对的人,我尝试通过标准加载器/请求模型使用重定向错误加载它,它就像一个魅力,谢谢。是的,也许是,谢谢您的建议
猜你喜欢
  • 1970-01-01
  • 2023-01-29
  • 1970-01-01
  • 2015-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多