0

ファイルの更新が何度も成功した後、返されたファイル ID が有効なファイル ID ではなく drive:v1 である更新が 1 回ありました。また、App Engine ログによると、問題のリクエストは 10 秒 (通常は 1 秒未満) かかりましたが、これは非常に奇妙な App Engine インスタンスの起動時間によるものではありません。

私が使用したコードは、Google Drive SDK Python サンプル アプリ DrEdit に基づいており、わずかに変更されているだけです (テキストではなく小さな画像を転送するため、Base64 エンコーディングを追加しました)。

より具体的には、ServiceHandler クラスの put メソッドのサンプル コードでは、このコードは、ファイルを更新した後にファイル ID を返すことになっています。

# Respond with the new file id as JSON.
  self.RespondJSON(resource['id'])

これは何度も機能しましたが、1 回は drive:v1 が返されました。ファイルIDの問題を除いて、更新はファイルを正しく変更しましたが、リクエストは正常に機能しました。

これによって影響を受けるサンプル コードの部分に加えた変更を次に示します。

resource = service.files().update(
  id=data['resource_id'],
  newRevision=True,
  body=None,
  media_body=MediaInMemoryUpload(base64.b64decode(data.get('content', '')),
                                           data['mimeType']),
).execute()

ちなみに、put メソッドの「新しいファイル ID を JSON で応答する」というコメントは、ファイルを更新するとファイル ID が変わるように見えますが、そうではないようです。これは非常に紛らわしいので、更新後にファイル ID が実際に変更されることがない限り、これを変更することをお勧めします。

4

1 に答える 1

0

試してみましたが、これを再現できません。定期的に再現するサンプルを入手する方法はありますか?

また、コメントに関する問題を提起していただきありがとうございます。今すぐ更新します。

編集: http://code.google.com/p/google-drive-sdk-samples/source/detail?r=233b6db987f633ff34929247f9045feca7550688で更新されたコメント

于 2012-05-01T22:06:17.057 に答える