Grupları yönet

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

  • Grup oluşturun
  • Grubu güncelleme
  • Grup takma adı ekleme
  • Grubu alma
  • Bir alan veya hesapla ilgili tüm grupları alma
  • Bir üyenin tüm gruplarını alma
  • Tüm grup takma adlarını alma
  • Grup takma adını silme
  • Grup 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 ekleyin. Hesapla ilişkili 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 ise:

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

Başarılı bir yanıt, 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 ekleyin. groupKey, grubun e-posta adresi, grup takma adının e-posta adresi veya grubun benzersiz id'sidir. 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, e-posta adresi değişebileceğinden grubun e-posta adresini kalıcı veriler için anahtar olarak kullanmamanızı öneririz.

Genel olarak, e-posta adresi değişebileceğinden grubun e-posta adresini kalıcı veriler için anahtar olarak kullanmamanızı öneririz.

Aşağıdaki örnekte, benzersiz groupKey nnn ve grubun adı APAC 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üncellenmiş bilgileri göndermeniz gerekir. İstekte grubun tüm özelliklerini girmeniz gerekmez.

Başarılı bir yanıt, HTTP 201 durum kodu ve yeni grubun özelliklerini 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 ekleyin. groupKey, grubun e-posta adresi, grubun takma ad e-posta adreslerinden herhangi biri veya grubun benzersiz id'sidir. Sorgu dizeleri, istek ve yanıt özellikleri için groups kaynağı bölümüne 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 grubun diğer adını oluşturmaya yönelik örnek bir istek gösterilmektedir. groupKey, grubun id olan benzersiz NNNN ile gösterilir.

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

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

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 ekleyin. groupKey, grubun e-posta adresi, grubun takma ad e-posta adreslerinden herhangi biri veya grubun benzersiz id'sidir. 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 şeklindedir:

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

Başarılı bir yanıt, 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 hesapla ilgili tüm grupları alma

Belirli bir alan veya hesapla ilgili tüm grupları almak için aşağıdaki GET isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi ekleyin. Sorgu dizeleri, istek ve yanıt özellikleri için groups.list yöntemine bakın. Okunabilirliği artırmak açısından bu örnekte satır sonları kullanılmıştı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 hesap için tüm gruplar alınırken aşağıdakiler göz önünde bulundurulmalıdır:

  • Bir alt alanla ilgili tüm gruplar: domain bağımsız değişkenini alanın adıyla birlikte kullanın.
  • Hesaptaki tüm gruplar: customer bağımsız değişkenini my_customer veya hesabın customerId değeriyle birlikte kullanın. Hesap yöneticisi olarak, hesabınızın customerId değerini temsil etmek için my_customer dizesini kullanın. Yeniden satış yapan bir bayiyseniz ve yeniden satış yapılan bir müşterinin hesabına erişiyorsanız yeniden satış yapılan hesabın customerId özelliğini kullanın. customerId değeri için Bir alandaki tüm kullanıcıları alma işleminin isteğinde hesabın birincil alan adını kullanın. Sonuçta elde edilen yanıtın değeri customerId olur.
  • Hem domain hem de customer bağımsız değişkenlerini kullanma: Directory API, domain için tüm grupları döndürür.
  • domain ve customer bağımsız değişkenleri kullanılmıyor: Directory API, my_customer ile ilişkili hesap için tüm grupları döndürür. Bu, isteği gönderen yöneticinin customerId hesabıdır.
  • Hem customer hem de userKey bağımsız değişkenlerini kullanma: Directory API hata döndürür. Bu bağımsız değişkenlerle iki ayrı istekte bulunmanız gerekir.

Aşağıdaki örnekte, bir hesap yöneticisi, bir hesabın tüm gruplarının listesini istemek için my_customer kullanıyor:

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 ile yeniden satı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 eden kullanıcı listesi için nextPageToken vardır:

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

Başarılı bir yanıt, HTTP 200 durum kodu ve grup e-postasına göre alfabetik sıradaki grupları 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ı alma

Bir üyenin aboneliğinin olduğ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 ekleyin. Okunabilirliği artırmak açısından bu örnekte satır sonları kullanılmıştır:

GET https://admin.googleapis.com/admin/directory/v1/groups?userKey=user key
&pageToken=pagination token
&maxResults=maximum results per response page
  • Üyeler kullanıcı veya grup olabilir.
  • userKey, kullanıcının birincil e-posta adresi, kullanıcının takma ad e-posta adresi, bir grubun birincil e-posta adresi, bir grubun e-posta takma adı veya Kullanıcı işlemini alma kullanılarak bulunabilen kullanıcının benzersiz id'si olabilir.
  • userKey içinde belirtilen kullanıcı veya grup, alanınıza ait olmalıdır.
  • Çok sayıda grup içeren yanıtlarda pageToken sorgu dizesini kullanın. Sayfalama durumunda yanıt, yanıt sonuçlarının bir sonraki sayfası için jeton veren nextPageToken özelliğini döndürür. Bir sonraki isteğinizde bu jeton, pageToken sorgu dizesi değeri olarak kullanılır.
  • Hem customer hem de userKey bağımsız değişkenlerini kullanma: Directory API hata döndürür. Bu bağımsız değişkenlerle iki ayrı istekte bulunmanız gerekir.

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

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

  • Bir üyenin aboneliğinin olduğu tüm gruplar (kullanıcının alanının dışındaki gruplar dahil) döndürülür.
  • Gruplar, her grubun e-posta adresinin alfabetik sırasına göre döndürülür.
  • Yanıtın gövdesindeki id, grubun benzersiz kimliğidir.
  • Yanıt, kullanıcının alanı dışındaki bir grubun listesini içerdiğinde bu grubun diğer adları dahil edilmez.
{
    "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"
     }
  ],
   "nextPageToken": "NNNNN"
}

Tüm grup takma adlarını alma

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 ekleyin. groupKey, grubun birincil e-posta adresi, grubun benzersiz id veya grubun takma ad e-posta adreslerinden herhangi biri 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, HTTP 201 durum kodu ve grubun diğer adlarının listesini döndürür.

Grup takma adını silme

Bir grubun diğer adını silmek için aşağıdaki DELETE isteğini kullanın ve İstekleri yetkilendirme bölümünde açıklanan yetkilendirmeyi ekleyin. groupKey, grubun birincil e-posta adresi, grubun benzersiz id veya grubun takma ad e-posta adreslerinden herhangi biri 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, HTTP 201 durum kodu döndürür.

Grup silme

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

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

Örneğin, bu DELETE isteği, nnnn grubu id olan grubu siler:

DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn

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

Bir grup silindiğinde şunlar olur:

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