【发布时间】:2014-08-12 04:57:55
【问题描述】:
我是利用 Facebook Graph API 的 Wordpress 插件的作者。最近,新插件用户的一些 Graph 调用失败(只有新用户受到影响)。经过一番挖掘,我相信我在这里偶然发现了原因:https://developers.facebook.com/docs/apps/versions
特别是“我的应用可以调用比当前版本更早的版本吗?”部分。状态:
应用可以调用创建应用时可用的最新 API 版本
换句话说,即使我的 Graph 调用指定了显式版本(即https://graph.facebook.com/v2.0/me),对于新创建的应用程序,Facebook 也会简单地忽略“v2.0”并调用 2.1。事实上,一个 FQL 查询如下:
https://graph.facebook.com/v2.0/fql?q=(myquery)&access_token=(mytoken)
产量:
"error": {
"message": "(#12) fql is deprecated for versions v2.1 and higher",
"type": "OAuthException",
"code": 12
这就引出了我的第一个问题:我在这里遗漏了什么吗?对我来说,这种行为似乎让版本控制变得毫无用处。无论我的调用是否指定 v2.0,Facebook 都只会调用该应用程序创建时存在的最新版本。因此,Facebook 为支持旧 api 版本(参见https://developers.facebook.com/docs/apps/upgrading)提供的两年时间窗口什么也没做,因为我总是需要在最新版本发布时支持它(否则使用新创建的应用程序的新用户将被破坏)。对吧?
第二个问题(假设以上是正确的):我如何查询 Facebook 以获取当前应用程序正在使用(或者更确切地说,可以使用)的版本?由于明确指定 v2.0 并不意味着它实际上会使用 v2.0,因此找出它是否使用意外版本至少可以帮助预防可能的错误 - 即包含在用户错误报告中的有价值的信息。我希望这些信息必须以某种方式在 access_token 中,但我已经搜索了高低,无法弄清楚如何问,“这个令牌适用于什么 API 版本”(或者,“什么 API 版本可以做到这一点应用程序支持,”或类似的)?
【问题讨论】:
-
我两天前得到的东西仍然没有得到任何答案。请帮忙..
标签: facebook facebook-graph-api facebook-graph-api-v2.0