使用Facebook PHP SDK在单个请求中检索多个字段

Foo*_*Bar 1 php facebook facebook-graph-api facebook-php-sdk

在用户注册后,我获取用户数据(姓名,生日,位置等)以及用户个人资料图像.

目前,我能做到这一点:/me?fields=picture,name,但返回的画面分辨率太低,所以我想取得与高度参数图片(如描述在这里).

我认为唯一的选择就是将它分成两个请求,这似乎效率低下:

  • 获取用户数据 me/?fields=name
  • 获取用户图片 me/picture?height=500&redirect=false

有没有办法将其合并为一个请求?

lus*_*chn 7

使用字段扩展,只需一个API调用:

/me?fields=name,picture.width(500).height(500),birthday
Run Code Online (Sandbox Code Playgroud)

API Explorer测试:https://developers.facebook.com/tools/explorer/?method = GET&path = me%3Ffields%3Dname%2Cpicture.width%28500%29.height%28500%29&version=v2.2

有关字段扩展的更多信息:https://developers.facebook.com/docs/graph-api/using-graph-api/v2.2#fieldexpansion


批处理请求将是另一种解决方案,虽然在这种情况下不是很好,因为它们更复杂(代码更多,需要考虑更多的事情)并且它们不算作一个调用:

为了计算API调用限制和资源限制,批处理中的每个调用都是单独计算的

...意思是,它们只比2个单独的呼叫快(与批处理中最慢的呼叫一样快),但是字段扩展实际上只是1个呼叫.批处理请求用于"可能不相关的Graph API调用".