G Suite 管理员 SDK 用户监控会在名称更改可检索之前发送通知



我已经注册了一个通道,以便在用户通过用户监视机制更新用户时向端点发送通知。

当收到指示用户已更新的通知时,我会通过 Users get 终结点检索用户的信息。

我通过更改用户的名字对此进行了测试,但它没有按预期工作 - Users.get 返回的给定名称是旧名称,如果我几分钟后再次调用端点,它是新名称。

该文档没有明确说明在通知触发时它是正确的,但被告知发生了更改,但无法知道它是什么,或者它实际上已经发生,这似乎很奇怪。

有没有办法将这些通知延迟到数据准备就绪?或者知道何时准备好更改?

在G Suite管理员帮助的"更改如何传播到Google服务"部分中,它表示更改甚至可能需要长达24小时。

更改设置或执行任务,例如管理移动设备 和用户,并不总是立即反映。可能需要进行一些更改 最多 24 小时生效。有时,您会看到一条警告消息 如果有预期的延迟。

作为一种解决方法,您可以在更改之前将用户名保存在变量中,然后在收到推送通知时,调用 Users: get 并验证该名称是否与您之前创建的变量仍然相同。

您可以添加处理通知的延迟,而不是延迟通知。您可以存储收到通知的所有用户的电子邮件 ID,并根据您的业务需求每隔几分钟或几小时定期处理它们。

立即处理的问题在于,如果有人更新用户配置文件中的多个字段,您将收到多个通知。例如,如果名字、姓氏和电子邮件 ID 相继更改,您的后端将几乎同时收到 3 条通知,这可能会导致您的应用程序处理逻辑出现并发问题。

最新更新