過去2週間ほどで、アプリケーションで「予期された応答コード200、400を取得しました。ドキュメントを変換できません」というエラーが発生したというユーザーのレポートが突然届き始めました。これは、何年も問題なく使用されているコードです。Zend Framework(GData)をGoogle Docs(AuthSub)と組み合わせて使用しています。
問題が発生した場合は、テキストファイルにログを記録しています。ログに記録されると、ユーザーは何度も試行し(数秒離れている場合もあれば、それより長い時間離れている場合もあります)、失敗し続けます。問題のコードは、ユーザーのアカウントに新しいGoogleドキュメントを作成し、それにタイトルを付けます(本文のコンテンツは含まれません)。
もともと、私はこのコードを使用しました:
// Create new document
$data = new Zend_Gdata_Docs_DocumentListEntry();
$data->setCategory(
array(new Zend_Gdata_App_Extension_Category(
"http://schemas.google.com/docs/2007#document",
"http://schemas.google.com/g/2005#kind"
)));
$data->setTitle(new Zend_Gdata_App_Extension_Title($title, null));
// Add document to your list
$test = $sharedocs->insertDocument($data, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);
その特定の関数に問題があるかどうかを実験して確認するために、空白の単語docを作成し、コードを次のように変更してみました。
$test = $sharedocs->uploadFile('/mypath/empty.doc', $title, null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);
ただし、「ドキュメントを変換できません」というエラーが引き続き表示されます。それらは比較的まれであり、私はここで自分のコンピューターで問題を再現することはできません。$ title変数には、異常なもの(特殊文字など)は含まれていません。
このコードは以前はすべて正常に機能していましたが、現在Google Docs APIに既知の問題がありますか?他に何を試すことができますか?
注:このエラーが発生する再現可能なシナリオを特定した、以下のフォローアップコメントを参照してください。