0

google-api-java-client ライブラリを使用して Google ドキュメントにアクセスしようとしています。以下のライブラリを使用しています。

  • 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

そして、フィードを取得できましたが、parseAs を取得できず、例外が発生しました。私のコードは次のようなものです。

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 にヒットする理由がわかりませんでした。私にとっては、レスポンスは良さそうです。ステータスは OK、コードは 200、ドキュメントから取得する必要がある項目が多数あります。

何が悪いのか教えてください。ありがとう。

4

1 に答える 1

0

私の質問を見た人は、アプリで Google ドキュメントを使うのをやめてしまったことをお詫びします。まず、Web ブラウザーと同じように、Google ドキュメントとの間であらゆる種類のファイルをアップロード/ダウンロードできると考えました。そして、プロトコルガイドには、これを行う方法が明確に記載されています。しかし残念なことに、API を使用することで、 Google Apps Premier のお客様だけがこれを行うことができることが判明しました。そのため、ここにいる人たちに助けられてそれらの API を処理できたとしても、Google Docs でやりたいことを実現することはできません。私はGoogle Docsでの作業をやめますので、私が作ったこの質問に対して責任を負うことができないことをご容赦ください.

于 2011-05-25T01:13:46.813 に答える