Mengelola keanggotaan untuk Google Grup

Setelah grup ada, Anda dapat membuat keanggotaan untuk grup tersebut. Halaman ini menjelaskan cara melakukan beberapa operasi keanggotaan dasar dengan Cloud Identity Groups API. Untuk mempelajari cara membuat Google Grup, lihat Membuat dan menelusuri Google Grup.

Sebelum memulai

Menambahkan keanggotaan ke Grup Google

REST

Gunakan metode memberships.create untuk menambahkan anggota ke grup.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • GROUP_ID: ID numerik grup yang ingin Anda tambahkan anggota. Untuk menemukan ID satu grup, gunakan metode groups.lookup. Untuk melihat semua ID grup di bagian pelanggan atau namespace, gunakan metode groups.list.
  • MEMBER_ID: ID anggota. Untuk entitas yang dikelola Google, gunakan alamat email anggota. Untuk entitas yang dipetakan dengan identitas eksternal, gunakan string yang memenuhi persyaratan sumber identitas.
  • ROLE_NAME: Nama peran yang ingin Anda berikan kepada anggota. Gunakan OWNER, MANAGER, atau MEMBER.
  • PROJECT_ID: ID alfanumerik project Google Cloud yang ingin Anda gunakan untuk membuat permintaan.

Metode HTTP dan URL:

POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships

Meminta isi JSON:

{
  "preferredMemberKey": {
    "id": "MEMBER_ID"
  },
  "roles": [
    {
      "name": "MEMBER"
    }
  ]
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Responsnya berisi Operation yang menunjukkan status permintaan Anda.

Operasi yang sudah selesai berisi keanggotaan yang ditambahkan. Contoh:

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.apps.cloudidentity.groups.v1.Membership",
    "name": "groups/GROUP_ID/memberships/123456789012345678901",
    "preferredMemberKey": {
      "id": "MEMBER_ID"
    },
    "roles": [
      {
        "name": "MEMBER"
      }
    ]
  }
}

Anda juga dapat menggunakan metode memberships.create untuk menambahkan anggota sebagai pengelola atau pemilik grup:

  • Untuk menjadikan seseorang sebagai pengelola grup, ikuti prosedur untuk menambahkan anggota ke grup, tetapi gunakan isi permintaan berikut:

    {
      "preferredMemberKey": {
        "id": "MEMBER_ID"
      },
      "roles": [
        {
          "name": "MEMBER"
        }
        {
          "name": "MANAGER"
        }
      ]
    }
  • Untuk menjadikan seseorang sebagai pemilik grup, ikuti prosedur untuk menambahkan anggota ke grup, tetapi gunakan isi permintaan berikut:

    {
      "preferredMemberKey": {
        "id": "MEMBER_ID"
      },
      "roles": [
        {
          "name": "MEMBER"
        }
        {
          "name": "OWNER"
        }
      ]
    }

Python

Kode berikut menunjukkan cara menambahkan keanggotaan ke grup. expiryDetail adalah kolom opsional yang dapat ditambahkan untuk menetapkan masa berlaku keanggotaan. Nilai preferredMemberKey adalah alamat email anggota.

def create_google_group_membership(service, identity_source_id, group_id, member_key):
  param = "&groupKey.id=" + group_id + "&groupKey.namespace=identitysources/" + identity_source_id
  try:
    lookupGroupNameRequest = service.groups().lookup()
    lookupGroupNameRequest.uri += param
    # Given a group ID and namespace, retrieve the ID for parent group
    lookupGroupNameResponse = lookupGroupNameRequest.execute()
    groupName = lookupGroupNameResponse.get("name")
    # Create a membership object with a memberKey and a single role of type MEMBER
    membership = {
      "preferredMemberKey": {"id": member_key},
      "roles" : {
        "name" : "MEMBER",
        "expiryDetail": {
          "expireTime": "2021-10-02T15:01:23Z"
        }
      }
    }
    # Create a membership using the ID for the parent group and a membership object
    response = service.groups().memberships().create(parent=groupName, body=membership).execute()
    print(response)
  except Exception as e:
    print(e)

Mencantumkan keanggotaan Google Grup

REST

Gunakan metode memberships.list untuk mencantumkan anggota grup.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • GROUP_ID: ID numerik grup yang ingin Anda cantumkan anggotanya. Untuk menemukan ID satu grup, gunakan metode groups.lookup. Untuk melihat semua ID grup di bagian pelanggan atau namespace, gunakan metode groups.list.
  • PROJECT_ID: ID alfanumerik project Google Cloud yang ingin Anda gunakan untuk membuat permintaan.

Metode HTTP dan URL:

GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Respons berisi array semua anggota dalam grup dan perannya.

Python

Kode berikut mencantumkan keanggotaan untuk grup:

def list_google_group_memberships(service, group_id):
  param = "&groupKey.id=" + group_id
  try:
    lookup_group_name_request = service.groups().lookup()
    lookup_group_name_request.uri += param
    lookup_group_name_response = lookup_group_name_request.execute()
    group_name = lookup_group_name_response.get("name")
    # List memberships
    response = service.groups().memberships().list(parent=group_name).execute()
    print(response)
  except Exception as e:
    print(e)