0

我正在尝试使用 google-api-java-client 库访问 Google Docs。我正在使用下面列出的库。

  • google-api-client-1.4.1-beta.jar
  • google-api-client-googleapis-1.4.1-beta.jar
  • google-api-client-googleapis-extensions-andr
  • 番石榴-r09.jar

我可以得到提要,但无法解析,我遇到了异常。我的代码是这样的;

HttpTransport transport = new NetHttpTransport();
GoogleHeaders headers = new GoogleHeaders();
transport.defaultHeaders = headers;

headers.setApplicationName("hohoho-GoogleDocsTest/1.0");
headers.gdataVersion = "3";
headers.setGoogleLogin(authToken);

AtomParser parser = new AtomParser();
parser.namespaceDictionary = new XmlNamespaceDictionary();
transport.addParser(parser);

HttpRequest request = transport.buildGetRequest();
request.url = <GoogleUrl of "https://docs.google.com/feeds/default/private/full">
HttpResponse res = request.execute();
Feed feed = res.parseAs(Feed.class);    // <- got exception

堆栈跟踪是:

05-24 22:05:34.853: ERROR/AndroidRuntime(6830): Caused by: java.lang.NullPointerException
05-24 22:05:34.853: ERROR/AndroidRuntime(6830):     at com.google.api.client.util.Types.getActualParameterAtPosition(Types.java:329)
05-24 22:05:34.853: ERROR/AndroidRuntime(6830):     at com.google.api.client.util.Types.getIterableParameter(Types.java:309)
05-24 22:05:34.853: ERROR/AndroidRuntime(6830):     at com.google.api.client.xml.Xml.parseElementInternal(Xml.java:417)
05-24 22:05:34.853: ERROR/AndroidRuntime(6830):     at com.google.api.client.xml.Xml.parseElement(Xml.java:198)
05-24 22:05:34.853: ERROR/AndroidRuntime(6830):     at com.google.api.client.http.xml.XmlHttpParser.parse(XmlHttpParser.java:72)
05-24 22:05:34.853: ERROR/AndroidRuntime(6830):     at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:298)
05-24 22:05:34.853: ERROR/AndroidRuntime(6830):     at net.DailyTimer.test.model.Feed.executeGet(Feed.java:24)

我不知道为什么它会遇到 NullPointerException。对我来说,反应看起来不错。状态是好的,代码是 200,有很多项目必须来自文档。

请告诉我有什么问题。谢谢。

4

1 回答 1

0

对于任何查看我的问题的人,我很抱歉我放弃了在我的应用程序中使用 Google Docs。首先,我认为我可以像使用 Web 浏览器一样向 Google Docs 上传/下载任何类型的文件。协议指南明确说明了如何做到这一点。但不幸的是,事实证明,通过使用 API,只有Google Apps Premier 客户才能做到这一点。因此,即使我可以处理这里的人们正在帮助的那些 API,我也无法使用 Google Docs 完成我想做的事情。我将停止在 Google Docs 上工作,所以请原谅我不能对我提出的这个问题负责。

于 2011-05-25T01:13:46.813 回答