Google Directory API / Admin SDK用户ETag问题

时间:2019-06-11 11:02:15

标签: google-admin-sdk etag google-directory-api

我已经为Google Directory中的用户定义了一些(2)自定义架构字段,现在(在Google管理控制台中)对它们进行更新时,从Directory API(user.get)中获取父级用户的ETag不会更改。

这真的很奇怪,因为我已经一起定义了这些自定义字段,它们的类型相同,并且当一个更新的ETag更改时,而另一个更新的ETag则完全不更改。我尝试过等待某种类型的传播延迟,但是没有成功。

任何想法为什么会这样?

经过进一步调查后更新:

ETag似乎依赖于API资源管理器输出的dir api请求的“ projection”属性

没有投影(=基本)

GET https://www.googleapis.com/admin/directory/v1/users/{SOME_USER}?fields=etag%2Cid&key={YOUR_API_KEY}


Response

200

- Hide headers -

cache-control:  private, max-age=0, must-revalidate, no-transform
content-encoding:  gzip
content-length:  124
content-type:  application/json; charset=UTF-8
date:  Thu, 13 Jun 2019 13:04:57 GMT
etag:  "zPBZh0mDALCYqI7HMkUiX8qQjpg/8eQEKzNh7JScsHXPxIfU4_tvCLY"
expires:  Thu, 13 Jun 2019 13:04:57 GMT
server:  GSE
vary:  Origin, X-Origin

{
 "id": "116652447405534033209",
 "etag": "\"zPBZh0mDALCYqI7HMkUiX8qQjpg/8eQEKzNh7JScsHXPxIfU4_tvCLY\""
}

完整投影(用户未更改)

GET https://www.googleapis.com/admin/directory/v1/users/{SOME_USER}?projection=full&fields=etag%2Cid&key={YOUR_API_KEY}


Response

200

- Hide headers -

cache-control:  private, max-age=0, must-revalidate, no-transform
content-encoding:  gzip
content-length:  124
content-type:  application/json; charset=UTF-8
date:  Thu, 13 Jun 2019 13:05:48 GMT
etag:  "zPBZh0mDALCYqI7HMkUiX8qQjpg/iQGdD6EzYPlCWxoexHcMbb56PuU"
expires:  Thu, 13 Jun 2019 13:05:48 GMT
server:  GSE
vary:  Origin, X-Origin

{
 "id": "116652447405534033209",
 "etag": "\"zPBZh0mDALCYqI7HMkUiX8qQjpg/iQGdD6EzYPlCWxoexHcMbb56PuU\""
}

相同的用户,不同的ETag,因此更新了此问题(ETag是否绑定到投影)的问题?我只能假设ETag是在请求的投影所定义的字段上计算的,因此,如果我更改了一些非basic(projection)字段,则基本投影请求的结果ETag不会更改,仅完整投影请求的ETag会发生变化。 / p>

0 个答案:

没有答案
相关问题