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

  • Aktifkan Cloud Identity API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan API

  • Siapkan autentikasi dan instal library klien. Lihat Menyiapkan Cloud Identity Groups API untuk mempelajari caranya.

Menambahkan keanggotaan ke Google Grup

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 bawah pelanggan atau namespace, gunakan metode groups.list.
  • MEMBER_ID: ID anggota. Untuk entity yang dikelola Google, gunakan alamat email anggota. Untuk entity yang dipetakan 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 yang ingin Anda gunakan untuk membuat permintaan. Google Cloud

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 akan 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 anggotanya ingin Anda cantumkan. Untuk menemukan ID satu grup, gunakan metode groups.lookup. Untuk melihat semua ID grup di bawah pelanggan atau namespace, gunakan metode groups.list.
  • PROJECT_ID: ID alfanumerik project yang ingin Anda gunakan untuk membuat permintaan. Google Cloud

Metode HTTP dan URL:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Responsnya 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)