- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经使用 facebook graph API 很长时间了。我经常遇到的一个问题是每 3 个月出现一次 API 版本升级异常,如下所示:
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)似乎已被弃用。
来自this page 广告 API
是营销 API
的一部分。尽管Marketing API
的 versioning documentation指出旧 API 在 90 天后已弃用,以后您无法调用该版本,只能从 Facebook Platform Changelog 调用该版本。 (Marketing API 的表格)您可以看到截止日期并不那么严格:如果您开始使用 2.7 版,则在 2017 年 4 月之前都可以使用,而 2.8 版甚至更晚(目前未指定)。
因此,您似乎无法避免 Marketing API 中的版本化调用,并且必须定期更新代码,但使用最新版本时,大约一年内都不需要更新。
免责声明:这只是猜测,我没有使用 Facebook API 的经验。
关于java - 如何动态处理facebook API版本升级异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40213557/
有没有办法在 Ubuntu 上升级我的 octave 版本,而无需下载最新版本并从头开始重新安装? (我当前的版本是 3.0.0,我想要最新的稳定版本) 最佳答案 你的ubuntu版本是什么?业力?
我有一个使用 Firebase 和 GMS 服务的应用程序,版本为 11.8.0 2 年,现在,我想升级到最新版本是 17.0.0。 gradle 中的以下依赖项: 升级前: implementati
node有一个模块叫n(这名字可够短的。。。),是专门用来管理node.js的版本的。 首先安装n模块: ?
但是伴随新版本的发布,每个版本都会加入很多好玩的新特性,作者会尽力保证做到向下兼容,但是如果开发者在使用swagger-bootstrap-ui的途中,因为升级版本导致的问题 一般都是由于前端的问题
最新版本的 Grails(2.1.1) 不支持最新版本的 Hibernate(4.1.7) 默认支持2.1.1版本 在 Grails 2.1.1 中升级 Hibernate 需要做什么? 最佳答案 最
我在一个实现了 omniture 跟踪的项目中工作,它运行良好,没有任何问题。我们在项目中有一个新的要求,我们需要用新的 s_code.js(版本 H26)替换现有的库文件 s_code.js(版本
从 Zend Server CE 5.0 with php 5.2 升级到 Zend Server CE 5.1 with php 5.3 的最佳方法是什么? 卸载并重新安装?在现有版本上安装? 最佳
我正在开发 ZK Web 应用程序,它使用 java 1.7、ZK 版本 6.5.2 和 Apache Tomcat 6(ZK 文档中描述的默认 tomcat 版本)。现在我需要将 Apache To
正在寻找有关版本间升级在 iOS 中如何工作的一些具体细节,特别是新版本中已删除的捆绑内容会发生什么情况?例如,如果 1.0 版在 bundle 中有一个名为“foo.png”的文件,但 2.0 版没
我有一个 Azure VM(Windows Server 2016 和 SQL Server 2016),运行一个生产 Web 应用程序,出于性能和成本原因,该应用程序同时充当应用程序和数据库服务器。
我在我的计算机上使用 ubuntu Linux 12.04 LTS。我使用的是 PHP 5.3.10 现在我通过在终端上使用几个命令升级到 PHP 5.5.18。升级到最新的 PHP 版本后,我使用命
我们的应用程序使用 Spring 版本 3.2.3.RELEASE,我们决定将其迁移到 4.0.9.RELEASE。 升级后我们无法再次使用 STS。启动工作区时,STS 会在一段时间(5-30 分钟
我在 mac(mojave 操作系统)中将 golang 从 v1.11 升级到 v1.13。调试器开始抛出错误 测试框架意外退出。控制台输出是 API server listening at: 12
我是一名优秀的程序员,十分优秀!