【发布时间】:2021-07-03 15:55:34
【问题描述】:
我正在尝试通过目录 API 拉下组成员身份的完整状态,并且由于 members.list(groupKey=group_email) 调用不会在其响应中返回 delivery_settings,因此我一直在遍历组成员列表和为每个成员打一个members.get(groupKey=group_email, memberKey=member_email) 电话。我经常看到其中一些 get() 调用失败并出现 404“未找到资源:电子邮件”错误。
错误在API explorer 中重现,并且可以可靠地重现(如果我看到运行我的脚本的特定组/成员组合出现错误,API 资源管理器将显示相同的错误)。我找不到任何不良团体/成员的共同点,而这些共同点是那些成员所独有的。
作为一种解决方法,我发现从members.list() 响应中获取id 字段并将我的get() 调用转换为members.get(groupKey=group_address, memberKey=id) 会起作用。有谁知道为什么电子邮件 memberKey 会失败,但 id 不会?
【问题讨论】:
-
看起来这可能与stackoverflow.com/questions/18492861/… 有关,因为使用 id 作为解决方法。看到这在 2013 年被确认为错误并且显然尚未修复,这并不令人鼓舞。
-
我尝试在Method:members:get 上使用电子邮件和id 作为memberKey 执行请求,并且两者都工作得很好。仅当组中不存在该成员或该组不存在时,才会发生该错误。您能否在上面包含您的代码,以便我可以尝试在我的终端上调试它?
-
对...大多数情况下,
get()使用电子邮件作为memberKey的调用工作正常。它仅针对特定的成员资格会引发该错误,但对于它在我的代码中引发的情况,它将可靠地在 API 资源管理器上重现。这就是为什么我相当确定这不是我的代码,而是 Google 的问题。 -
您可以为此错误提交Issue Tracker。
-
完成。看起来有人已经提交了它 (issuetracker.google.com/issues/175198974),但是当提交者没有回应时它被关闭了。
标签: google-admin-sdk google-api-python-client