Grupları yönet

Bu sayfada, Google Gruplar'ın Directory API ile nasıl yönetileceği açıklanmaktadır:

  • Grup oluşturun
  • Grubu güncelleme
  • Grup takma adı ekleme
  • Bir grubu alma
  • Bir alan veya hesaba ilişkin tüm grupları al
  • Bir üyenin tüm gruplarını al
  • Tüm grup takma adlarını al
  • Grup takma adını silme
  • Grubu silme

Grup oluşturun

Grup oluşturmak için aşağıdaki POST isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. Hesapla ilişkilendirilmiş herhangi bir alan için grup oluşturabilirsiniz. Sorgu dizeleri, istek ve yanıt özellikleri için groups.insert yöntemine bakın.

POST https://admin.googleapis.com/admin/directory/v1/groups

Aşağıdaki JSON isteğinde, grup oluşturan örnek bir istek gövdesi gösterilmektedir. Grubun e-posta adresi satis_grubu@example.com şeklindedir:

{
   "email": "sales_group@example.com",
   "name": "Sales Group",
   "description": "This is the Sales group."
}

Başarılı bir yanıt, bir HTTP 201 durum kodu ve yeni grubun özelliklerini döndürür.

Grubu güncelleme

Bir grubun ayarlarını güncellemek için aşağıdaki PUT isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. groupKey; grubun e-posta adresi, grup takma adının herhangi bir e-posta adresi veya grubun benzersiz id adresidir. Sorgu dizeleri, istek ve yanıt özellikleri için groups.update yöntemine bakın.

PUT https://admin.googleapis.com/admin/directory/v1/groups/groupKey 

Genel olarak Google, e-posta adresi değişebileceğinden, grubun e-posta adresinin kalıcı veriler için anahtar olarak kullanılmamasını önerir.

Aşağıdaki örnekte benzersiz groupKey, nnn ve grubun adı Asya Pasifik Satış Grubu'dur:

PUT https://admin.googleapis.com/admin/directory/v1/groups/nnn
{
    "email": "sales_group@example.com",
    "name": "APAC Sales Group"
}

Güncelleme isteği için yalnızca isteğinizdeki güncel bilgileri göndermeniz gerekir. Grubun tüm özelliklerini isteğe girmeniz gerekmez.

Başarılı bir yanıt, bir HTTP 201 durum kodu ve yeni grup için özellikleri döndürür:

{
    "kind": "directory#groups",
    "id": "group's unique ID",
    "etag": "group's unique ETag",
    "email": "sales_group@example.com",
    "name": "APAC Sales Group",
    "directMembersCount": "5",
    "description": "This is the APAC sales group.",
    "adminCreated": true,
    "aliases": [
     {
        "alias": "best_sales_group@example.com"
     }
    ],
    "nonEditableAliases: [
     {
        "alias": "liz@test.com"
     }
    ]
}

Grup takma adı ekleme

Grup takma adı eklemek için aşağıdaki POST isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. groupKey; grubun e-posta adresi, grup takma adlarından herhangi birinin e-posta adresi veya grubun benzersiz id adresidir. Sorgu dizeleri, istek ve yanıt özellikleri için groups kaynağına bakın.

POST https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases

Genel olarak Google, e-posta adresi değişebileceğinden, grubun e-posta adresinin kalıcı veriler için anahtar olarak kullanılmamasını önerir.

Aşağıdaki JSON isteğinde, bir grup takma adı oluşturmak için örnek istek gösterilmektedir. groupKey, grubun NNNN ile temsil edilen benzersiz id değeridir

POST https://admin.googleapis.com/admin/directory/v1/groups/NNNN/aliases
{
    "alias": "best_sales_group@example.com"
}

Başarılı bir yanıt, bir HTTP 201 durum kodu ve yeni grup takma adının özelliklerini döndürür.

Bir grubu alma

Bir grubu almak için aşağıdaki GET isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. groupKey; grubun e-posta adresi, grup takma adlarından herhangi birinin e-posta adresi veya grubun benzersiz id adresidir. Sorgu dizeleri, istek ve yanıt özellikleri için groups.get yöntemine bakın.
GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey

Genel olarak Google, e-posta adresi değişebileceğinden, grubun e-posta adresinin kalıcı veriler için anahtar olarak kullanılmamasını önerir.

Aşağıdaki örnekte benzersiz groupKey kimliği nnnn'dır:

GET https://admin.googleapis.com/admin/directory/v1/groups/nnnn

Başarılı bir yanıt, bir HTTP 200 durum kodu ve grubun ayarlarını döndürür:

{
    "kind": "directory#groups",
    "id": "group's unique ID",
    "etag": "group's unique ETag",
    "email": "sales_group@example.com",
    "name": "APAC Sales Group",
    "directMembersCount": "5",
    "description": "This is the APAC sales group.",
    "adminCreated": true,
    "aliases": [
     {
        "alias": "best_sales_group@example.com"
     }
    ],
    "nonEditableAliases: [
     {
        "alias": "liz@test.com"
     }
    ]
}

Bir alan veya hesaba ilişkin tüm grupları al

Belirli bir alan veya hesap için tüm grupları almak üzere aşağıdaki GET isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. Sorgu dizeleri, istek ve yanıt özellikleri için groups.list yöntemine bakın. Okunabilirlik için bu örnekte satır sonuçları kullanılmaktadır:

GET https://admin.googleapis.com/admin/directory/v1/groups?domain=domain name
&customer=my_customer or customerId&pageToken=pagination token
&maxResults=max results

Bir alan veya hesaba ilişkin tüm grupları alırken şunları göz önünde bulundurun:

  • Bir alt alandaki tüm gruplar: Alanın adıyla birlikte domain bağımsız değişkenini kullanın.
  • Hesabın tüm grupları: customer bağımsız değişkenini my_customer veya hesabın customerId değeriyle kullanın. Hesap yöneticisi olarak, hesabınızın customerId dizesini temsil etmek için my_customer dizesini kullanın. Yeniden satış yapılan bir müşterinin hesabına erişen bir bayiyseniz yeniden satış yapılan hesabın customerId özelliğini kullanın. customerId değeri için, Bir alandaki tüm kullanıcıları al işleminin isteğinde hesabın birincil alan adını kullanın. Sonuçta elde edilen yanıt customerId değerine sahiptir.
  • Hem domain hem de customer bağımsız değişkenlerini kullanarak: Directory API, domain için tüm grupları döndürür.
  • domain ve customer bağımsız değişkenlerini kullanmamak: Directory API, my_customer ile ilişkilendirilmiş hesaptaki tüm grupları döndürür. Bu, istekte bulunan yöneticinin customerId hesabıdır.
  • Hem customer hem de userKey bağımsız değişkenlerinin kullanılması: Directory API bir hata döndürür. Bu bağımsız değişkenlerle iki ayrı istek göndermeniz gerekir.

Aşağıdaki örnekte, bir hesap yöneticisi bir hesaptaki tüm grupların listelenmesini istemek için my_customer özelliğini kullanır:

GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=my_customer&maxResults=2

Aşağıdaki örnekte, bir bayi yöneticisinin isteği, customerId C03az79cb öğesine sahip yeniden satış yapılan hesabın tüm gruplarını döndürür. Yanıt sayfası başına döndürülen maksimum sonuç sayısı 2'dir. Bu yanıttaki takip edilecek kullanıcı listesi için bir nextPageToken mevcut:

GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=C03az79cb&maxResults=2

Başarılı bir yanıt, bir HTTP 200 durum kodu ve grupları, grup e-postasının alfabetik sırasına göre döndürür:

{
"kind": "directory#groups",
    "groups": [
     {
      "kind": "directory#groups",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "support@sales.com",
      "name": "Sales support",
      "directMembersCount": "6",
      "description": "The sales support group",
      "adminCreated": true
     },
     {
      "kind": "directory#groups",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "travel@sales.com",
      "name": "Sales travel",
      "directMembersCount": "2",
      "description": "The travel group supporting sales",
      "adminCreated": false,
      "aliases": [
       {
         "alias": "best_sales_group@example.com"
       }
      ],
      "nonEditableAliases: [
       {
         "alias": "liz@test.com"
       }
      ]
     },
  "nextPageToken": "NNNN"
  }

Bir üyenin tüm gruplarını al

Bir üyenin aboneliğinin bulunduğu tüm grupları almak için aşağıdaki GET isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. Okunabilirlik için bu örnekte satır döndürmeleri kullanılmaktadır:

GET https://admin.googleapis.com/admin/directory/v1/groups?userKey=user key
?pageToken=pagination token
&maxResults=maximum results per response page
  • Üye, bir kullanıcı veya grup olabilir.
  • userKey; kullanıcının birincil e-posta adresi, kullanıcının takma ad e-posta adresi, grubun birincil e-posta adresi, grubun e-posta takma adı veya kullanıcıya ait benzersiz id olabilir. Bu adres, Kullanıcı alma işlemi kullanılarak bulunabilir.
  • userKey içinde belirtilen kullanıcı veya grup alanınıza ait olmalıdır.
  • Çok sayıda grup içeren yanıtlar için pageToken sorgu dizesini kullanın. Sayfalara ayırma söz konusu olduğunda yanıt, sonraki yanıt sonuçları sayfası için bir jeton sağlayan nextPageToken özelliğini döndürür. Bir sonraki isteğiniz, bu jetonu pageToken sorgu dizesi değeri olarak kullanır.
  • Hem customer hem de userKey bağımsız değişkenlerinin kullanılması: Directory API bir hata döndürür. Bu bağımsız değişkenlerle iki ayrı istek göndermeniz gerekir.

İstek ve yanıt özellikleri için groups.list yöntemine bakın.

Başarılı bir yanıt, bir HTTP 200 durum kodu ve üye bilgilerinin listesini döndürür:

  • Kullanıcının alanı dışından olan gruplar da dahil olmak üzere, bir üyesinin aboneliği olan tüm gruplar döndürülür.
  • Gruplar, her grubun e-posta adresine göre alfabetik sırayla döndürülür.
  • Yanıtın gövdesinde, id grubun benzersiz kimliğidir.
  • Yanıtta, kullanıcının alanı dışındaki bir grubun listelenmesi, dış grubun takma adlarını içermez.
{
    "kind": "directory#groups",
    "groups": [
     {
      "kind": "directory#group",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "sales_group@example.com",
      "name": "sale group",
      "directMembersCount": "5",
      "description": "Sales group"
     },
     {
      "kind": "directory#group",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "support_group.com",
      "name": "support group",
      "directMembersCount": "5",
      "description": "Support group"
     }
  ],
   "nextPakeToken": "NNNNN"
}

Tüm grup takma adlarını al

Bir grubun tüm takma adlarını almak için aşağıdaki GET isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. groupKey; grubun birincil e-posta adresi, grubun benzersiz id adresi veya grup takma adlarından herhangi birinin e-posta adresi olabilir. İstek ve yanıt özellikleri için groups kaynağına bakın.

GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases

Başarılı bir yanıt, bir HTTP 201 durum kodu ve grubun takma adlarının listesini döndürür.

Grup takma adını silme

Bir grubun takma adını silmek için aşağıdaki DELETE isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. groupKey; grubun birincil e-posta adresi, grubun benzersiz id adresi veya grup takma adlarından herhangi birinin e-posta adresi olabilir. aliasId, silinen takma addır. İstek ve yanıt özellikleri için groups kaynağına bakın:

DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases/aliasId

Başarılı bir yanıt, bir HTTP 201 durum kodu döndürür.

Grubu silme

Bir grubu silmek için aşağıdaki DELETE isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi dahil edin. groupKey, grubun benzersiz id değeridir:

DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey
Örneğin, şu DELETE isteği, id nnnn grubunu içeren grubu siler:
DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn

Başarılı bir yanıt, bir HTTP 200 durum kodu döndürür.

Bir grup silindiğinde aşağıdakiler gerçekleşir:

  • Grubun tüm üyeleri silinir. Üyenin kullanıcı hesapları silinmez.
  • Grup arşivi silindi.
  • Silinen grubun adresine gönderilen iletiler teslim edilmez. Gönderen kişi, geri dönen bir ileti alır.