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

标签 php facebook facebook-graph-api facebook-php-sdk

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

目前,我可以这样做:/me?fields=picture,name,但是返回的图片分辨率太低,所以我想获取具有高度的图片参数(如 here 所述)。

在我看来,我唯一的选择是将其分成两个请求,这似乎效率不高:

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

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

最佳答案

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

/me?fields=name,picture.width(500).height(500),birthday

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


Batch Requests将是另一种解决方案,尽管在那种情况下不是一个很好的解决方案,因为它们要复杂得多(更多代码,需要考虑的更多事情)并且它们不算作一次调用:

each call within the batch is counted separately for the purposes of calculating API call limits and resource limits

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

关于php - 使用 Facebook PHP SDK 在单个请求中检索多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27104393/

相关文章:

javascript - 通过插件在管理页面加载自定义js文件

PHP 样式表打印切换器问题?

如果在 facebook 应用程序中打开,facebook 登录会陷入循环

c# - ASP.NET 和 Facebook Connect - 如何使用 Graph API 发布到用户的墙上?

facebook - 使用 Facebook v2.1 Graph API 通过 cURL 以编程方式创建测试用户

php - mysql查询中使用`和不使用`有什么区别

php - 根据邮政编码向用户显示相同结果的最佳方式是什么?

ios - iOS 上的社交分享

javascript - 使用 javascript SDK 和应用程序访问 token 获取 Facebook 用户名

http - Facebook graph api 使用正确的访问 token 返回 400 个错误请求