Search code examples
google-admin-sdkgoogle-api-python-client

Google Admin SDK Directory API members.get() returns a 404 for member email, but succeeds for member id


I'm trying to pull down the full state of group membership via the directory API, and since the members.list(groupKey=group_email) call won't return delivery_settings in its response, I'm stuck walking the list of group members and doing a members.get(groupKey=group_email, memberKey=member_email) call for each member. I'm regularly seeing some of those get() calls fail with a 404 "Resource Not Found: email" error.

The error reproduces in the API explorer, and is reliably reproducible (if I see an error for a particular group/member combo running my script, the API explorer will show the same error). I can't find anything that the bad group/members have in common that's unique to just those members.

As a workaround, I've found that grabbing the id field from the members.list() response, and turning my get() call into members.get(groupKey=group_address, memberKey=id) will work. Does anyone have any idea why an email memberKey would fail, but the id wouldnt?


Solution

  • After getting in touch with Google support, it turns out this is a known issue, but no current eta for a fix. We're expected to work around it by using the membership id instead of the email address as the memberKey.