Google Docs List API を使用してさまざまなドキュメント タイプをエクスポートしていますが、特定のスプレッドシートを xls 形式で要求しようとすると、次のエラーが発生しました。
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: com.google.gdata.util.ServiceException: Conversion failed unexpectedly
<HTML>
<HEAD>
<TITLE>Conversion failed unexpectedly</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Conversion failed unexpectedly</H1>
<H2>Error 500</H2>
</BODY>
</HTML>
at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:624)
at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:563)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:552)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:530)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:535)
at com.google.gdata.client.media.MediaService.getMediaResource(MediaService.java:234)
at com.google.gdata.client.media.MediaService.getMedia(MediaService.java:276)
at com.google.gdata.client.media.MediaService.getMedia(MediaService.java:302)
このエラーは、同じスプレッドシートで数日間持続しています。独自に調査した結果、エクスポートに失敗する形式は xls/xlsx と ods であると結論付けましたが、たとえば csv と html は機能します。REST 呼び出しは次のようになります。
fails: https://docs.google.com/feeds/download/spreadsheets/Export?key={ID}&xoauth_requestor_id={email}&exportFormat=xls
fails: https://docs.google.com/feeds/download/spreadsheets/Export?key={ID}&xoauth_requestor_id={email}&exportFormat=ods
succeeds: https://docs.google.com/feeds/download/spreadsheets/Export?key={ID}&xoauth_requestor_id={email}&exportFormat=csv
また、古い属性を追加しようとしましたformat=
が、動作が変わらなかったため、再度削除しました。
Google ドキュメントは Google ドライブに置き換えられているため、来年には Google ドライブ API に変換することを検討していますが、それはうまくいくかもしれませんが、当面は現在のバージョンでこれを解決できるとよいでしょう。
私たちの側では、お客様と連絡を取り、実際のスプレッドシートに異常がないかどうかを確認しようとしています. 情報がわかり次第追記していきます。
Google で検索してもあまり出てこないので、ここにいる誰かがこれを以前に見たことがあり、これが起こり得るいくつかのシナリオを知っていることを願っています. 以前にこれを見た人からのコメントと、それを回避するためにあなたがしたことは役に立ちます!
前もって感謝します!