Grupları yönet

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

  • Grup oluşturun
  • Grup güncelleme
  • Grup takma adı ekleme
  • Grup alma
  • Bir alan veya hesaptaki 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. Hesabınızla ilişkili tüm alanlar 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 sales_group@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 kodunu ve yeni grubun özelliklerini döndürür.

Grup 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 e-posta adreslerinden biri veya grubun benzersiz id değeridir. 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 

Google, e-posta adresinin değişebilmesi nedeniyle genel olarak kalıcı veriler için grubun e-posta adresini anahtar olarak kullanmamanızı önerir.

Aşağıdaki örnekte, benzersiz groupKey nnn ve grubun adı APAC Sales Group'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 isteğinize yalnızca güncel bilgileri göndermeniz yeterlidir. İstekte, grubun tüm özelliklerini girmeniz gerekmez.

Başarılı bir yanıt, HTTP 201 durum kodunu 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 dahil edin. groupKey, grubun e-posta adresi, grup takma adının e-posta adreslerinden biri veya grubun benzersiz id'sidir. 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

Google, e-posta adresinin değişebilmesi nedeniyle genel olarak grubun e-posta adresini kalıcı veriler için anahtar olarak kullanmamanızı önerir.

Aşağıdaki JSON isteği, bir grubun takma adını oluşturmaya yönelik örnek bir isteği göstermektedir. groupKey, NNNN ile temsil edilen grubun 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, HTTP 201 durum kodunu ve yeni grup takma adının özelliklerini döndürür.

Grup 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 adının e-posta adreslerinden 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

Google, e-posta adresinin değişebilmesi nedeniyle genel olarak grubun e-posta adresini kalıcı veriler için anahtar olarak kullanmamanızı önerir.

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

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

Başarılı bir yanıtta HTTP 200 durum kodu ve grubun ayarları döndürülü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 hesaptaki tüm grupları alma

Belirli bir alan adının veya hesabın tüm gruplarını almak için aşağıdaki GET isteğinde bulunun 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 için 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ırken aşağıdakileri göz önünde bulundurun:

  • Bir alt alan adının tüm grupları: Alan adıyla birlikte domain bağımsız değişkenini kullanın.
  • Hesaptaki 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 değerini 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 değerini 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. Elde edilen yanıtta customerId değeri bulunur.
  • 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ılmadı: Directory API, my_customer ile ilişkili hesabın tüm gruplarını 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ı istek göndermeniz gerekir.

Aşağıdaki örnekte, bir hesap yöneticisi my_customer'yi kullanarak bir hesabın tüm gruplarının listesini istemektedir:

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

Aşağıdaki örnekte, bayi yöneticisinin isteği, bayi tarafından satılan hesap için customerId C03az79cb ile tüm grupları döndürür. Yanıt sayfası başına döndürülen maksimum sonuç sayısı 2'dir. Bu yanıtta, takip eden kullanıcı listesi için nextPageToken yer almaktadır:

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

Başarılı bir yanıtta HTTP 200 durum kodu ve grup e-postalarının alfabetik sırasına göre gruplar döndürülü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 abone 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 için 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ının benzersiz id olabilir. id, Kullanıcı alma işlemi kullanılarak bulunabilir.
  • userKey alanında 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. Sayfalandırma söz konusu olduğunda yanıt, yanıt sonuçlarının bir sonraki sayfası için jeton veren nextPageToken mülkünü döndürür. Bir sonraki isteğiniz, pageToken sorgu dizesi değeri olarak bu jetonu kullanı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ı istek göndermeniz 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:

  • Kullanıcının alanının dışındaki gruplar da dahil olmak üzere, üyenin abone olduğu 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ının dışındaki bir grubun listesi, harici 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ı 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 adresi veya grup takma adlarının 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ıtta HTTP 201 durum kodu ve grubun takma adlarının listesi döndürülü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 ekleyin. groupKey, grubun birincil e-posta adresi, grubun benzersiz id adresi veya grup takma adlarının 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ıtta HTTP 201 durum kodu döndürülü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 değeridir:

DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey
Örneğin, bu DELETE isteği id nnnn grubuna sahip grubu siler:
DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn

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

Bir grup silindiğinde aşağıdakiler olur:

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