Drive API v2 を使用するアプリケーションをテストしていますが、PATCH 要求の応答で新しい ETag を取得していないことに気付きました。
Google API Explorer を使用していくつかのテストを行いました。これは PATCH リクエストです。
PATCH https://www.googleapis.com/drive/v2/files/0B-TenPiSMBplMTJnVlYxTEEwQ28?key={YOUR_API_KEY}
Content-Type: application/json
Authorization: Bearer ...
X-JavaScript-User-Agent: Google APIs Explorer
{
"title": "file.tmp"
}
そして、これは ETag を示す PATCH 応答の始まりです"EBHN0a_u6Vh64YcTBDNdNyfF7Hs/MTM4MTI2MTIxODY0MQ"
:
200 OK
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Encoding: gzip
Content-Length: 1019
Content-Type: application/json; charset=UTF-8
Date: Tue, 08 Oct 2013 19:46:36 GMT
Etag: "EBHN0a_u6Vh64YcTBDNdNyfF7Hs/MTM4MTI2MTIxODY0MQ"
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Pragma: no-cache
Server: GSE
{
"kind": "drive#file",
"id": "0B-TenPiSMBplMTJnVlYxTEEwQ28",
"etag": "\"EBHN0a_u6Vh64YcTBDNdNyfF7Hs/MTM4MTI2MTIxODY0MQ\"",
"selfLink": "https://content.googleapis.com/drive/v2/files/0B-TenPiSMBplMTJnVlYxTEEwQ28",
"webContentLink": "https://docs.google.com/uc?id=0B-TenPiSMBplMTJnVlYxTEEwQ28&export=download",
"alternateLink": "https://docs.google.com/file/d/0B-TenPiSMBplMTJnVlYxTEEwQ28/edit?usp=drivesdk",
"iconLink": "https://ssl.gstatic.com/docs/doclist/images/icon_10_generic_list.png",
"title": "file.tmp",
しかし、PATCH の直後に GET リクエストを実行すると、次のようになります。
GET https://www.googleapis.com/drive/v2/files/0B-TenPiSMBplMTJnVlYxTEEwQ28?key={YOUR_API_KEY}
Authorization: Bearer ...
X-JavaScript-User-Agent: Google APIs Explorer
応答で、更新された ETag ( "EBHN0a_u6Vh64YcTBDNdNyfF7Hs/MTM4MTI2MTU5NjAyNg"
)を取得します。
200 OK
Cache-Control: private, max-age=0, must-revalidate, no-transform
Content-Encoding: gzip
Content-Length: 1021
Content-Type: application/json; charset=UTF-8
Date: Tue, 08 Oct 2013 19:48:44 GMT
Etag: "EBHN0a_u6Vh64YcTBDNdNyfF7Hs/MTM4MTI2MTU5NjAyNg"
Expires: Tue, 08 Oct 2013 19:48:44 GMT
Server: GSE
{
"kind": "drive#file",
"id": "0B-TenPiSMBplMTJnVlYxTEEwQ28",
"etag": "\"EBHN0a_u6Vh64YcTBDNdNyfF7Hs/MTM4MTI2MTU5NjAyNg\"",
"selfLink": "https://content.googleapis.com/drive/v2/files/0B-TenPiSMBplMTJnVlYxTEEwQ28",
"webContentLink": "https://docs.google.com/uc?id=0B-TenPiSMBplMTJnVlYxTEEwQ28&export=download",
"alternateLink": "https://docs.google.com/file/d/0B-TenPiSMBplMTJnVlYxTEEwQ28/edit?usp=drivesdk",
"iconLink": "https://ssl.gstatic.com/docs/doclist/images/icon_10_generic_list.png",
"title": "file.tmp",
これは意図した動作ですか?サーバーへの別のラウンドトリップを回避するために、PATCH 応答で更新された ETag を取得することを期待していました。また、PATCH の代わりに PUT を使用して同じ動作を経験したことにも注意してください。