【问题标题】:Google groups CAN_REQUEST_TO_JOINGoogle 群组 CAN_REQUEST_TO_JOIN
【发布时间】:2017-09-30 03:55:32
【问题描述】:

Google groups settings SDK (python) 似乎在“任何人都可以询问”和“组织中的任何人都可以询问”之间没有区别权限。

whoCanJoin 权限参数只允许以下值: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN

当我将权限设置为CAN_REQUEST_TO_JOIN 时,只有“组织中的任何人都可以询问”设置被选中。

即使我手动检查“任何人都可以询问”权限。设置 JSON 保持不变:

{u'allowExternalMembers': u'true', u'allowGoogleCommunication': u'false', u'allowWebPosting': u'true', u'archiveOnly': u'false', u'customFooterText': u'', u'customReplyTo': u'', u'defaultMessageDenyNotificationText': u'', u'description': u"---------", u'email': u'---------@orga.com', u'includeCustomFooter': u'false', u'includeInGlobalAddressList': u'true', u'isArchived': u'false', u'kind': u'groupsSettings#groups', u'maxMessageBytes': 26214400, u'membersCanPostAsTheGroup': u'false', u'messageDisplayFont': u'DEFAULT_FONT', u'messageModerationLevel': u'MODERATE_NONE', u'name': u'----------', u'replyTo': u'REPLY_TO_IGNORE', u'sendMessageDenyNotification': u'false', u'showInGroupDirectory': u'false', u'spamModerationLevel': u'MODERATE', u'whoCanAdd': u'ALL_MANAGERS_CAN_ADD', u'whoCanContactOwner': u'ANYONE_CAN_CONTACT', u'whoCanInvite': u'ALL_MANAGERS_CAN_INVITE', u'whoCanJoin': u'CAN_REQUEST_TO_JOIN', u'whoCanLeaveGroup': u'ALL_MEMBERS_CAN_LEAVE', u'whoCanPostMessage': u'ALL_IN_DOMAIN_CAN_POST', u'whoCanViewGroup': u'ALL_MEMBERS_CAN_VIEW', u'whoCanViewMembership': u'ALL_MANAGERS_CAN_VIEW'}

有人知道如何以编程方式将此设置设置为“任何人都可以询问组织中的任何人都可以询问”吗?

【问题讨论】:

  • 您能否用一个最小且可重现的示例来更新您的问题,以重现此行为?这将有助于可能能够回答的人。

标签: python google-admin-sdk google-groups google-groups-settings


【解决方案1】:

找到答案了,必须通过两个命令来完成:首先允许外部成员,然后设置 whoCanJoin 设置和其他权限。

在一个设置正文中同时设置这两种设置不起作用。

def set_settings(self, group_mail, settings, batch=None):
    req = self.service.groups().update(
        groupUniqueId=group_mail,
        body=settings)

    if batch:
        batch.add(req)
    else:
        req.execute()

def allow_external_members(self, group_mail, batch=None):
    self.set_settings(group_mail, {"allowExternalMembers": "true"}, batch)

def allow_join_request(self, group_mail, batch=None):
    self.set_settings(group_mail, {"whoCanJoin": "CAN_REQUEST_TO_JOIN"}, batch)

【讨论】:

    【解决方案2】:

    有人知道如何以编程方式将此设置设置为 “任何人都可以提问”和“组织中的任何人都可以提问”?

    您是在询问如何设置whoCanJoin 属性,以便“任何人都可以提问”和“组织中的任何人都可以提问”?

    答案是将whoCanJoin 属性设置为CAN_REQUEST_TO_JOIN。您不需要(也不能)将其设置为多个值,因为这个单一值可确保任何人(包括您组织中的人员)都可以申请加入。

    这里是底层Group Settings API 的文档链接。

    【讨论】:

    • 正如我所说,将whoCanJoin 设置设置为CAN_REQUEST_TO_JOIN 只会选中“组织中的任何人都可以提问”。它没有像我希望的那样检查“任何人都可以问”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2011-02-03
    • 2014-10-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多