2

我从http://code.google.com/p/google-api-java-client/source/browse/calendar-cmdline-sample/?repo=samples下载了谷歌日历 api 示例,并在 eclipse 中创建了一个项目。现在,当我尝试运行该项目时,我正在java.lang.IllegalArgumentException: no JSON input found这条线上

 FileCredentialStore credentialStore = new FileCredentialStore(
        new File(System.getProperty("user.home"), ".credentials/calendar.json"), JSON_FACTORY);

你们有人试过这个例子吗?这里有什么问题?

4

3 回答 3

1

可以通过向 .credentials/calendar.json 文件提供输入来解决此错误。如果您在 calendar.json 中手动提供了以下条目,它将起作用:

{
  "installed": {
    "client_id": "client_id",
    "client_secret": "client_secret"
  }
}

这似乎是 Windows 问题,它不允许在 calendar.json 文件上设置可写权限。方法 setWritable(boolean,boolean) 返回 false,因此是此问题的原因。仍然手动提供 json 输入并不是一个完美的解决方案,但您的应用程序可以工作。

于 2012-09-13T06:28:18.100 回答
0

当您的应用程序之前执行并在您的主目录中创建空的 .credentials/calendar.json 文件时,可能会发生这种情况。如果您在 Windows 中运行应用程序,可能会发生这种情况,导致 FileCredentialStore 尝试执行:file.setReadable(false, false) 并失败。

要解决它,只需删除 calendar.json。尽管您可能还有另一个错误:[无法设置文件权限],但我还不知道如何解决。

于 2012-09-11T03:45:23.870 回答
-1

该项目是否具有 calendar.json 资源文件。请分享完整的异常堆栈跟踪。 似乎 calendar.json 文件中缺少一些必需的配置

于 2012-09-07T12:21:33.963 回答