我目前正在使用G Suite API中的数据。
给我带来的不便是,对于某些API,可用资源的数量可能非常大。
例如,当我使用Users:list API(https://www.googleapis.com/admin/directory/v1/users)时,给定资源数量和每个查询的最大结果数量,我需要执行大量查询。在下面找到一个示例JSON响应:
{
"kind": "admin#directory#users",
"etag": "\"WqpSTs-zelqnIvn63V............................/v3ENarMfXkTh9ijs3OVkQRoUSVU\"",
"users": [
{
"kind": "admin#directory#user",
"id": "7720745322191632224007",
"etag": "\"WqpSTs-zelqnIvn63V........................PfcSmik3zEJwHAl1UbgSk\"",
"primaryEmail": ...,
...
},
{
"kind": "admin#directory#user",
"id": "227945583287518253104",
"etag": "\"WqpSTs-zelqnIvn63V..........-zY30eInIGOmLI\"",
"primaryEmail": ...,
...
},
...
N-users
...
]
}
我每天多次运行此查询。
理想情况下,我只会检索已更改的资源和新资源,从响应中排除未更改的资源。
可以这样做吗?如果是这样,如何?
谢谢您的回答。
您可以为用户创建自定义属性,然后根据您的自定义属性使用查询参数来过滤您的请求。
或确切定义您的意思是“更改”或“未更改”,因为每次登录时用户属性将change来更新最后的登录属性。
更新:
您可以watch通过提供一个地址来接收对watch端点的POST请求中的通知,以对您域中的用户列表进行更改:
https://www.googleapis.com/admin/directory/v1/users/watch
参考: