java - 调用 DropBox getAccountInfo() 时出现断言错误

标签 java dropbox assertion

我在使用 DropBox 时遇到了奇怪的情况,而上周我没有遇到过这种情况。我创建了一个简单的 java 控制台应用程序,用于从 DropBox 中提取文件并将其存储在本地,这是有效的,但由于某种原因它现在失败了。正在从文件中读取 AccessToken 和 UserID。

MyDBAccessToken = params.get(0);
MyDBUserID      = params.get(1);
MyDBUrlState    = null;

DbxAuthFinish authToken  = new DbxAuthFinish(MyDBAccessToken, MyDBUserID, MyDBUrlState);
DbxRequestConfig config  = new DbxRequestConfig( "JavaTutorial/1.0", Locale.getDefault().toString());
DbxClient MyDBClient     = new DbxClient(config, authToken.accessToken);
System.out.println("Linked to DropBox account: " + MyDBClient.getAccountInfo().displayName + " ID " + MyDBClient.getAccountInfo().userId);

这是我的堆栈跟踪

Exception in thread "main" java.lang.AssertionError: bad index: -1, field = "datastores"
at com.dropbox.core.DbxAccountInfo$Quota$1.read(DbxAccountInfo.java:91)
at com.dropbox.core.DbxAccountInfo$Quota$1.read(DbxAccountInfo.java:66)
at com.dropbox.core.json.JsonReader.readField(JsonReader.java:26)
at com.dropbox.core.DbxAccountInfo$1.read(DbxAccountInfo.java:152)
at com.dropbox.core.DbxAccountInfo$1.read(DbxAccountInfo.java:128)
at com.dropbox.core.json.JsonReader.readFully(JsonReader.java:349)
at com.dropbox.core.json.JsonReader.readFully(JsonReader.java:238)
at com.dropbox.core.DbxRequestUtil.readJsonFromResponse(DbxRequestUtil.java:218)
at com.dropbox.core.DbxClient$4.handle(DbxClient.java:275)
at com.dropbox.core.DbxClient$4.handle(DbxClient.java:270)
at com.dropbox.core.DbxRequestUtil.doGet(DbxRequestUtil.java:269)
at com.dropbox.core.DbxClient.doGet(DbxClient.java:1804)
at com.dropbox.core.DbxClient.getAccountInfo(DbxClient.java:270)

最佳答案

库试图解析的任何 JSON 似乎都已损坏。

话虽如此,在生产环境中从公共(public) API 传播的 AssertionError 始终是一个错误。断言错误基本上意味着库作者所做的假设并不总是正确的。代码要么需要更正,以便假设始终为真,要么应抛出更相关的 Exception 子类并将其记录为 API 的一部分。

事实上,这是该库的 Dropbox 问题跟踪器上的问题。

DbxClient.getAccountInfo fails with AssertionError.

您可能希望对该问题发表评论并提供更多详细信息(即堆栈跟踪和您正在执行的操作的描述),因为问题提交者没有提供任何详细信息。

关于java - 调用 DropBox getAccountInfo() 时出现断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18792256/

相关文章:

java - 构建我的应用程序,但它说构建失败并出现一个错误

java - NetBeans 中文件名后面的 [-/M] 表示什么?

macos - OSX Dropbox Sync API 错误 - 无法验证链接请求

php - Paypal付款后上传至Dropbox

c++ - 从字母转换成单词

Java 对象数组

java - 从 Java Spark 读取时未读 block 数据

git - 我应该将我的 Git 文件夹保存在 Dropbox 之外吗?

java - 如何使用页面对象模型(Webdriver + Java + JUnit)断言 "select"列表具有值或可见文本?

java - hashCode 具有相同的元素但不同的值