0

I have valid json that is erroring out in the google groups member API. I left the oauth stuff out but here the executed code:

groupsSettings = build('groupssettings', 'v1', credentials=creds)
file=open('file.json')    
data=json.load(file)
group = (data[i]["group"])
memberEmail = (data[i]["memberEmail"])
member = json.dumps({"email": memberEmail,"role": "MEMBER"})
adminRequest=admin.members().insert(groupKey=group,body=member)
groupsResponse=groupsRequest.execute()

The error is:

{'error': {'errors': [{'domain': 'global', 'reason': 'required', 'message': 'Missing required field: member'}], 'code': 400, 'message': 'Missing required field: member'}}

400 missing required field member. My member variable IS the member. I've tried the same groupKey and body in the google API explorer and it works without issue. I'm not sure what is wrong here but on the surface it appears that this should be valid. Any insight is greatly appreciated.

  • Does this answer your question? [Getting 'Missing required field: member' when trying to add a member to a google group via API](https://stackoverflow.com/questions/29105310/getting-missing-required-field-member-when-trying-to-add-a-member-to-a-google) – Shiva Apr 28 '20 at 05:57
  • I wish! This person seemed to have had a json encoding issue. I'm using the native json encoder in python, so it shouldn't be an issue. `member = json.dumps({"email": memberEmail,"role": "MEMBER"})` – izzy.artistic Apr 28 '20 at 17:52

1 Answers1

0

For anyone interested, this was a simple mistake of trying to push serialized json. It was corrected by using deserialized json in the following manner:

encode = json.dumps({"email": memberEmail,"role": "MEMBER"})
member = json.loads(encode)