Facebook Graph API无法返回活动图片。

13

编辑:看起来Facebook终于修复了这个漏洞!


能否帮我理解为什么会发生这种情况:

这是一张公共活动图片: https://www.facebook.com/events/282054218538223

但是当我尝试访问 http://graph.facebook.com/282054218538223/picture 时,我只得到了一张默认图片。


这里是另一个公共活动:http://www.facebook.com/events/266496120103339

但是这次访问http://graph.facebook.com/266496120103339/picture返回了该活动的照片。


这两个活动之间有什么区别呢?


1
有所不同!第一个在"<Events"和"Join"之间有定界符,而第二个没有!真的很奇怪! - Martin.
哈哈,我没注意到那个 ;) - Robin
我也遇到了同样的问题。如果有人在Facebook上看到这个问题,请回答一下!更多例子:工作正常的链接 https://graph.facebook.com/430779326938945/picture;不工作的链接 https://graph.facebook.com/271148229633674/picture。 - MoXplod
我们或许应该在https://developers.facebook.com/bugs/上发布一个错误报告。 - Robin
实际上,已经有一个了... https://developers.facebook.com/bugs/262648820496801 - Robin
显示剩余2条评论
3个回答

5
这个答案没有解释为什么使用Graph API请求不起作用,但可能会帮助需要检索事件配置文件图片的人。
使用FQL可以像这样检索事件配置文件图像:
SELECT pic,pic_small,pic_big FROM event WHERE eid = 282054218538223
使用Robin第一个示例中的事件ID。此调用以3种不同大小的URL返回事件配置文件图像。它适用于Robin问题中的两个示例,只需更改事件ID即可。
Graph Explorer中尝试Robin的示例。
https://graph.facebook.com/fql?q=SELECT pic,pic_big,pic_small FROM event WHERE eid=282054218538223

并且这里有MoXplod的示例:
https://graph.facebook.com/fql?q=SELECT pic,pic_big,pic_small FROM event WHERE eid=271148229633674

请确保您有访问令牌(如果需要),如FQL事件表中所述。


3
不确定为什么这个被选为答案——答案是这是Graph API的一个当前bug,这是一个解决方法。 - Jay Croghan
2
基本上,这个问题没有真正的答案。我们只能等待Facebook修复这个漏洞。正如你所说,Gunnar提供了一个很好的解决方法,这是我认为最接近答案的地方。 - Robin
2
请注意:"截至2016年8月8日,FQL将不再可用且无法查询"。 - Stéphane

3

1

今晚我在解决这个问题。文档上说要使用图片,但我在探索字段时发现了这个:

{event-id}/?fields=cover

最终返回:

{
  "cover": {
    "offset_x": 99,
    "offset_y": 50,
    "source": "{url}",
    "id": "{id}"
  },
  "id": "{id}"
}

这个方法真是太棒了,谢谢。如果你能提供源文件的链接,那就更有帮助了。 - Dheeraj Thedijje

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接