在FB Graph API中确定具有id的对象类型

hay*_*nar 20 facebook response object-type facebook-graph-api

有没有办法确定给定ID表示的对象类型https://graph.facebook.com/ID.当我要求这个在图形API资源管理器工具,在响应中有一个名为领域type,可能含有user,page,album,photo等等.但是当我从浏览器或通过SDK请求相同时,作为回应,没有这样的字段,但其他一切都是相同的.而且我必须猜测我依赖其他领域的对象是什么类型的对象:例如,如果有一个字段gender意味着我有user对象.我认为这是FB Graph API中的一个错误.这有什么解决方案吗?

您可以在屏幕截图中看到差异 graph api explorer工具的响应 我的浏览器的回复

Jui*_*ter 40

如果你通过metadata在你的请求中添加参数来使用Facebook称之为"内省"的东西,这是可能的:

GET http://graph.facebook.com/object_id?metadata=1
Run Code Online (Sandbox Code Playgroud)

结果将包含type字段

  • 可能有点晚,但对于新手,您可以通过使用?metadata = 1&fields = picture,metadata.fields(type)仅指定元数据的类型字段来节省带宽 (15认同)
  • FB api是我使用的最混乱的API ...对于"图像"和"链接"元数据不会返回类型,但您可以通过"fields = type"获取类型,但对于"video"它将返回错误,因为"视频"你必须通过元数据获取类型...> < (2认同)

JLa*_*rky 9

您可以添加metadata = 1,metadata: {type: ...}如果您这样请求,则会有响应:

http://graph.facebook.com/object_id?metadata=1&fields=id,name,metadata{type}
Run Code Online (Sandbox Code Playgroud)

基于Vinicius Tavares的表扬.