Python 谷歌集团设置API 400“;无效值";错误
我有一个同步脚本,它正在创建新组并上载设置,如下所示:Python 谷歌集团设置API 400“;无效值";错误,python,api,http-status-code-400,google-settings,Python,Api,Http Status Code 400,Google Settings,我有一个同步脚本,它正在创建新组并上载设置,如下所示: 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.__
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\u目录
类和groups\u设置
类使用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"
}
{
“种类”:“组设置#组”,
“电子邮件”:“,
“名称”:“,
“说明”:“,
“whoCanJoin”:“受邀加入”,
“whoCanViewMembership”:“所有成员都可以查看”,
“whoCanViewGroup”:“所有成员都可以查看”,
“whoCanInvite”:“没有人可以邀请”,
“谁能添加”:“所有经理都能添加”,
“allowExternalMembers”:“true”,
“whoCanPostMessage”:“域中的所有内容都可以发布”,
“allowWebPosting”:“false”,
“原始语言”:“en”,
“maxMessageBytes”:10485760,
“isArchived”:“true”,
“archiveOnly”:“false”,
“消息缓和级别”:“缓和所有消息”,
“垃圾邮件级别”:“拒绝”,
“回复至”:“回复至发件人”,
“customReplyTo”:“,
“includeCustomFooter”:“false”,
“customFooterText”:“,
“SendMessageDenNotification”:“false”,
“DefaultMessageDenNotificationText”:”,
“showInGroupDirectory”:“false”,
“allowGoogleCommunication”:“false”,
“MemberScanPassethGroup”:“false”,
“messageDisplayFont”:“默认字体”,
“includeInGlobalAddressList”:“true”,
“whoCanLeaveGroup”:“所有成员都可以离开”,
“whoCanContactOwner”:“域中的所有用户都可以联系”,
“WhoCanAddressReferences”:“无”,
“whoCanAssignTopics”:“无”,
“whoCanUnassignTopic”:“无”,
“whoCanTakeTopics”:“无”,
“whocanmarkreplicate”:“无”,
“whocanmarknoresponseed”:“无”,
“whoCanMarkFavoriteReplyOnAnyTopic”:“无”,
“whoCanMarkFavoriteReplyOnOwnTopic”:“无”,
“whoCanUnmarkFavoriteReplyOnAnyTopic”:“无”,
“whoCanEnterFreeFormTags”:“无”,
“WhoCanModifyTags和Categories”:“无”,
“favoriteRepliesOnTop”:“false”
}
当我在API资源管理器中使用确切的JSON时,它可以工作,但是当我通过这个脚本上传时,我得到了
我似乎不明白它为什么这样做
是否有其他人遇到过此问题?如果是,您是否能够找出错误 在查询字符串开始之前,您的URL中有一个编码为
@
的URL(请注意%40
)。可能您的URL没有正确的结构。您可能还需要指定其他标题,如内容类型:application/json
或application/x-www-form-urlencoded
,具体取决于您发送此json的方式。尝试使用开发人员/网络工具查看API explorer发送的请求头。我不需要指定任何头,因为我使用Google的python包来执行这些命令。我知道该软件包可以工作,因为在测试域上会更新设置。组确实在生产域中创建,但组设置返回此无效值错误。