Группы Google CAN_REQUEST_TO_JOIN

SDK для настроек групп Google ( python), по-видимому, не делает различий между "Любой может попросить" и "Любой в организации может попросить" присоединиться к разрешениям.

whoCanJoin Параметр allow разрешает только следующие значения:ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN

Когда я установил разрешение на CAN_REQUEST_TO_JOINпроверяется только настройка "Кто угодно в организации".

Группы whoCanJoin

Даже когда я проверяю вручную разрешение "Любой может спросить". Настройки 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'}

Кто-нибудь знает, как программно установить для этого параметра значение "Кто-нибудь может спросить" и "Кто-то в организации может спросить"?

2 ответа

Решение

Найдя ответ, это нужно сделать двумя командами: сначала разрешить внешних участников, затем установить настройки 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)

Кто-нибудь знает, как программно установить для этого параметра значение "Кто-нибудь может спросить" и "Кто-то в организации может спросить"?

Вы спрашиваете, как установить whoCanJoin свойство, чтобы "Кто-нибудь может спросить" и "Кто-нибудь в организации может спросить"?

Ответ заключается в том, чтобы установить whoCanJoin собственность на CAN_REQUEST_TO_JOIN, Вам не нужно (и нельзя) устанавливать для него несколько значений, потому что это единственное значение гарантирует, что любой, в том числе в вашей организации, может попросить присоединиться.

Вот ссылка на документацию для базового API настроек группы.

Другие вопросы по тегам