Java 如何动态处理facebook API版本升级异常

Java 如何动态处理facebook API版本升级异常,java,facebook,facebook-graph-api,Java,Facebook,Facebook Graph Api,我已经使用facebook graph API很久了。我经常遇到的一个问题是API版本升级异常,每3个月出现一次,如下所示: message - (#2635) You are calling a deprecated version of the Ads API. Please update to the latest version: v2.7. code - 2635 Relevant information for error recovery can be found on the F

我已经使用facebook graph API很久了。我经常遇到的一个问题是API版本升级异常,每3个月出现一次,如下所示:

message - (#2635) You are calling a deprecated version of the Ads API. Please update to the latest version: v2.7. code - 2635 Relevant information for error recovery can be found on the Facebook Developers Document:
        https://developers.facebook.com/docs/graph-api/using-graph-api/#errors

FacebookException{statusCode=400, errorType='OAuthException', errorMessage='(#2635) You are calling a deprecated ver sion of the Ads API. Please update to the latest version: v2.7.', errorCode=2635, errorSubcode=-1, version=2.4.6}
因此,每当我在java代码中读取并需要在生产中部署它时,我都需要更新属性文件中的版本。虽然我使用的API没有变化,但每次我都被迫做这种变化

为了避免一次又一次的部署,我现在考虑了3个修复:

1) 从数据库中读取API版本,并在版本发生更改时向生产部门提供更新脚本

2) 轮询属性文件以进行任何修改,如果修改,请重新读取

3) 脏补丁:捕获异常,从异常字符串解析版本,并动态更新URL


但是我在想,有没有其他更好的方法可以动态获取最新的FB API版本,并使用它来避免频繁的更改,我也想知道其他人在他们的应用程序中是如何处理这些更改的?

从您收到的错误消息来看,您正在使用的
Ads API
(版本2.4.6)似乎已被弃用

来自
Ads的API
营销API
的一部分。 尽管
市场营销API
声明旧API在90天后被弃用,您不能稍后调用该版本,但从(市场营销API的表)中可以看出,截止日期并没有这么严格:如果您开始使用2.7版,您可以在2017年4月之前使用2.8版甚至更高版本(目前未指定)

因此,您似乎无法避免Marketing API中的版本化调用,您必须定期更新代码,但使用最新版本后,大约一年内不必更新


免责声明:这只是猜测我没有使用Facebook API的经验。

从您收到的错误消息中,您正在使用的
Ads API
(版本2.4.6)似乎已被弃用

来自
Ads的API
营销API
的一部分。 尽管
市场营销API
声明旧API在90天后被弃用,您不能稍后调用该版本,但从(市场营销API的表)中可以看出,截止日期并没有这么严格:如果您开始使用2.7版,您可以在2017年4月之前使用2.8版甚至更高版本(目前未指定)

因此,您似乎无法避免Marketing API中的版本化调用,您必须定期更新代码,但使用最新版本后,大约一年内不必更新


免责声明:这只是猜测我没有使用Facebook API的经验。

在不更改代码的情况下动态更新Facebook API版本是不可能的,这就是为什么它被称为“Facebook破坏性更改”。有时模型会改变,有时URL签名会改变,但几乎总是会有一些东西需要改变您在代码中如何利用或处理API的响应


Facebook持续更新其API,您需要彻底检查他们提供的文档(您应该注意,文档往往不是100%准确),然后尽快进行必要的更改。

如果不更改代码,动态更新Facebook API版本是不可能的,这就是为什么它被称为“Facebook打破变化”。有时模型会改变,有时URL签名会改变,但几乎总是会有一些东西需要改变您在代码中如何利用或处理API的响应


Facebook不断更新其API,您需要彻底检查他们提供的文档(您应该注意,文档往往不是100%准确),然后尽快进行必要的更改。

Yeah。。我阅读了这些文档,我的问题是如何避免频繁地更改代码来更新版本。是的。。我阅读了这些文档,我的问题是如何避免频繁地更改代码来更新版本。