У меня есть скрипт синхронизации, который создает новые группы и загружает настройки, например:
for group in self.groups:
try:
print("%s@%s" % (group, self.admin_directory.__domain__))
self.admin_directory.insert_group(email="%s@%s" % (group, self.admin_directory.__domain__),
name=group,
description=group)
time.sleep(1)
except HttpError as e:
if(e.resp.status == 409):
print("%s was already a group in Google." % group)
else:
print(e)
try:
print(json.dumps(self.groups[group]['settings'], indent=4))
self.groups_settings.update("%s@%s" % (group, self.admin_directory.__domain__),
self.groups[group]['settings'])
time.sleep(1)
except HttpError as e:
print(e)
Мой admin_directory
класс и groups_settings
класс используют библиотеку google.oauth2
У меня есть JSON, который я загружаю, который выглядит так:
{
"kind": "groupsSettings#groups",
"email": "<email>",
"name": "<group_name>",
"description": "<group_name>",
"whoCanJoin": "INVITED_CAN_JOIN",
"whoCanViewMembership": "ALL_MEMBERS_CAN_VIEW",
"whoCanViewGroup": "ALL_MEMBERS_CAN_VIEW",
"whoCanInvite": "NONE_CAN_INVITE",
"whoCanAdd": "ALL_MANAGERS_CAN_ADD",
"allowExternalMembers": "true",
"whoCanPostMessage": "ALL_IN_DOMAIN_CAN_POST",
"allowWebPosting": "false",
"primaryLanguage": "en",
"maxMessageBytes": 10485760,
"isArchived": "true",
"archiveOnly": "false",
"messageModerationLevel": "MODERATE_ALL_MESSAGES",
"spamModerationLevel": "REJECT",
"replyTo": "REPLY_TO_SENDER",
"customReplyTo": "",
"includeCustomFooter": "false",
"customFooterText": "",
"sendMessageDenyNotification": "false",
"defaultMessageDenyNotificationText": "",
"showInGroupDirectory": "false",
"allowGoogleCommunication": "false",
"membersCanPostAsTheGroup": "false",
"messageDisplayFont": "DEFAULT_FONT",
"includeInGlobalAddressList": "true",
"whoCanLeaveGroup": "ALL_MEMBERS_CAN_LEAVE",
"whoCanContactOwner": "ALL_IN_DOMAIN_CAN_CONTACT",
"whoCanAddReferences": "NONE",
"whoCanAssignTopics": "NONE",
"whoCanUnassignTopic": "NONE",
"whoCanTakeTopics": "NONE",
"whoCanMarkDuplicate": "NONE",
"whoCanMarkNoResponseNeeded": "NONE",
"whoCanMarkFavoriteReplyOnAnyTopic": "NONE",
"whoCanMarkFavoriteReplyOnOwnTopic": "NONE",
"whoCanUnmarkFavoriteReplyOnAnyTopic": "NONE",
"whoCanEnterFreeFormTags": "NONE",
"whoCanModifyTagsAndCategories": "NONE",
"favoriteRepliesOnTop": "false"
}
Когда я использую точный JSON здесь в проводнике API, он работает, но когда я загружаю с помощью этого сценария, я получаю
<HttpError 400 when requesting https://www.googleapis.com/groups/v1/groups/<group_name>%40<domain>?alt=json returned "Invalid Value">
и я не могу понять, почему он это делает.
Кто-нибудь еще сталкивался с этой проблемой, и если да, то смогли ли вы выяснить ошибку?