Google Directory API / Admin SDK для пользователя ETag проблема - PullRequest
0 голосов
/ 11 июня 2019

Я определил несколько (2) пользовательских полей схемы для пользователей в Каталоге Google, и теперь, когда они обновляются (в консоли администратора Google), ETag родительского пользователя не изменяется при извлечении из API-интерфейса каталога (user.get).

Это действительно странно, потому что я определил эти пользовательские поля вместе, они имеют одинаковый тип, и при обновлении одного ETag изменяется, а при обновлении другого ETag вообще не меняется.Я пытался ждать какого-то типа, если была некоторая задержка распространения, но безуспешно.

Есть идеи, почему это происходит?

Обновление после дальнейшего исследования:

Кажется, что ETag зависит от атрибута "projection" запроса dir api, вывод из API Explorer

без проекции (= основной)

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 вычисляется на полях, которые определены проекцией запроса, поэтому, если я изменю какое-то неосновное (проекционное) поле, результирующий ETag для базового запроса проекции не изменится, и только ETag для полного запроса проекции будет *.1019 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...