Enterprise License Manager API: Geliştirici Kılavuzu

Bu dokümanda, hesap düzeyindeki ve bayi yöneticilerinin kullanıcı lisans atamalarını yönetmek için Enterprise License Manager API'yi nasıl kullanabileceği açıklanmaktadır. Hesabınızın ürün SKU lisansları etkinleştirildikten ve kullanıcılarınız oluşturulduktan sonra, hesabınızın kullanıcılarına lisans atamak, güncellemek, almak ve silmek için Enterprise License Manager API'yi kullanın.

Bu sürümde, Enterprise License Manager API, hesap ve bayi yöneticileri tarafından kullanılmaktadır. License Management ayrıcalığına sahip yetki verilmiş yöneticiler de Enterprise License Manager API'yi kullanabilir.

Not: Enterprise License Manager API, bir Google müşterisi tarafından kullanılıyor. Google üçüncü taraf uygulama geliştiricilerinin lisansları nasıl yönettiği hakkında bilgi edinmek için Google Workspace Marketplace API başlıklı makaleyi inceleyin.

Enterprise License Manager API, web hizmetlerine yönelik Representational State Transfer (RESTful) tasarım yaklaşımını temel alır.

Lisansları Yönetme

Lisans ata

Bu işlemden önce müşteri veya bayi Google ürün lisansları sipariş etmiş ve kullanıcıyı oluşturmuştur. Bu kullanıcıya bu ürün lisanslarından birini atamak için aşağıdaki POST HTTP isteğini kullanın. Authorization üstbilgisini İstekleri yetkilendirme bölümünde açıklandığı şekilde ekleyin. Ürün ve SKU kimlikleri için API'nin kullanılabilir Ürünler ve SKU'lara bakın:

POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user

Not: Bir kullanıcıya çok çeşitli Google ürünlerine ilişkin lisanslar atanabilir. Ancak bir kullanıcıya ürün başına tek seferde yalnızca bir SKU lisansı atanır. API kullanılarak bir kullanıcının SKU lisansı ürün içindeki farklı bir SKU lisansına yeniden atanabilir.

Bu örnekte, birincil e-posta adresi alex@example.com olan kullanıcıya Google-Drive-storage-20 GB SKU atanır:

POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user

JSON isteğinin gövdesi:

{
  "userId" : "alex@example.com",
}

Başarılı bir yanıt, 200 HTTP durum kodu döndürür. Olası hata kodları için API'nin Hata kodları'na bakın. Başarılı olursa yanıt, lisanslama ataması durumunu JSON veri biçiminde döndürür.

JSON Yanıtı

{
  "kind": "licensing#licenseAssignment",
  "etags": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com",
  "userId": "alex@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-20GB",
  "skuName": "Google Drive storage 20 GB",
  "productName": "Google Drive storage"
}

Daha fazla bilgi için LicenseAssignments yöntem ekleyin referans sayfasına bakın.

Bir kullanıcının ürün SKU'sunu aynı ürün içinde farklı bir SKU ile yeniden atama

Bir kullanıcının lisansını aynı ürün içinde yeni bir lisans SKU'suna yeniden atamak için aşağıdaki PUT HTTP isteğini kullanın. API, yama söz dizimini de destekler. Authorization üstbilgisini İstekleri yetkilendirme bölümünde açıklandığı şekilde ekleyin. Ürün ve SKU kimlikleri için API'nin kullanılabilir Ürünler ve SKU'lara bakın:

PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email

Bu örnekte, mevcut Google-Drive-storage-20 GB SKU, Google-Drive-storage-50 GB ile güncellenmektedir. Mevcut lisans SKU'su isteğin URI'sında, yeni lisans SKU'su ise isteğin gövdesinde yer alır:

PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com

JSON isteğinin gövdesinde şunlar bulunur :

{
  "kind": "licensing#licenseAssignment",
  "etags": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
  "userId": "alex@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-50GB",
  "skuName": "Google Drive storage 50 GB",
  "productName": "Google Drive storage"
}

Başarılı bir yanıt, 200 HTTP durum kodu döndürür. Olası hata kodları için API'nin Hata kodları'na bakın. Başarılı olursa yanıt, lisans atama durumunu JSON veri biçiminde döndürür.

JSON Yanıtı

{
  "kind": "licensing#licenseAssignment",
  "etags": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
  "userId": "alex@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-50GB",
  "skuName": "Google Drive storage 50 GB",
  "productName": "Google Drive storage"
}

Daha fazla bilgi için LicenseAssignments güncelleme yöntemi ve yama yöntemi referans sayfalarına bakın.

Belirli bir ürün için lisans atanmış tüm kullanıcıları alma

Belirli bir ürünün tüm kullanıcı lisanslarını almak için aşağıdaki GET HTTP isteğini kullanın. Authorization üstbilgisini İstekleri yetkilendirme bölümünde açıklandığı şekilde ekleyin. customerId sorgu dizesi, müşterinin birincil alan adıdır. maxResults sorgu dizesi, API'nin yanıtında kaç kullanıcı lisansı girişi döndürüleceğini belirler:

GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page

Ürün ve SKU kimlikleri için API'nin kullanılabilir Ürünler ve SKU'lar bölümüne bakın.

Bu örnekte, Google-Drive depolama alanı ürününe ilişkin lisans atanmış example.com alanındaki tüm kullanıcılara ait sonuçların ilk sayfası listelenmektedir:

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2

Başarılı bir yanıt, 200 HTTP durum kodu döndürür. Olası hata kodları için API'nin Hata kodları'na bakın. Başarılı olursa yanıt, lisanslama listesini JSON biçiminde döndürür.

JSON Yanıtı

{
  "kind" : "licensing#licenseAssignmentList",
  "etag": "etag value",
  "nextPageToken" : "the next page token value",
  "items": [
  {
    "kind": "licensing#licenseAssignment",
    "etags": "etag value",
    "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
    "userId": "alex@example.com",
    "productId": "Google-Drive-storage",
    "skuId": "Google-Drive-storage-50GB",
    "skuName": "Google Drive storage 50 GB",
    "productName": "Google Drive storage"
  },
  {
    "kind": "licensing#licenseAssignment",
    "etags": "etag value",
    "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/keshav@example.com",
    "userId": "keshav@example.com",
    "productId": "Google-Drive-storage",
    "skuId": "Google-Drive-storage-200GB",
    "skuName": "Google Drive storage 200 GB",
    "productName": "Google Drive storage"
  },
  ...
}

Daha fazla bilgi için LicenseAssignments listForProduct yöntemi referans sayfasına bakın.

Belirli bir ürün SKU'su için lisans atanmış tüm kullanıcıları alma

Belirli bir ürün SKU'sunda lisansa sahip tüm kullanıcıların listesini almak için aşağıdaki GET HTTP isteğini kullanın. Authorization üstbilgisini İstekleri yetkilendirme bölümünde açıklandığı şekilde ekleyin. customerId sorgu dizesi, müşterinin birincil alan adıdır. maxResults sorgu dizesi, API'nin yanıtında kaç kullanıcı girişi döndürüleceğini belirler:

GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/users?customerId=primary domain name&maxResults=max results per response page

Ürün ve SKU kimlikleri için API'nin kullanılabilir Ürünler ve SKU'lar bölümüne bakın

Bu örnek, example.com alanında Google-Drive-storage-200GB SKU için lisans atanmış tüm kullanıcıların ilk sayfasını döndürür. Yanıtta sayfa başına iki kullanıcı girişi listelenmektedir:

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/users?customerId=example.com&maxResults=2

Başarılı bir yanıt, 200 HTTP durum kodu döndürür. Olası hata kodları için API'nin Hata kodları'na bakın. Başarılı olursa yanıt, lisanslama listesini JSON biçiminde döndürür.

JSON Yanıtı

{
  "kind" : "licensing#licenseAssignmentList",
   "etag": "etag value",
   "nextPageToken" : "next page token's value",
   "items": [
    {
     "kind": "licensing#licenseAssignment",
     "etags": "etag value",
     "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/alex@example.com",
     "userId": "alex@example.com",
     "productId": "Google-Drive-storage",
     "skuId": "Google-Drive-storage-200GB",
     "skuName": "Google Drive storage 200 GB",
     "productName": "Google Drive storage"
    },
    {
     "kind": "licensing#licenseAssignment",
     "etags": "etag value",
     "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/mary@example.com",
     "userId": "mary@example.com",
     "productId": "Google-Drive-storage",
     "skuId": "Google-Drive-storage-200GB",
     "skuName": "Google Drive storage 200 GB",
     "productName": "Google Drive storage"
    },
    ...
  }

Daha fazla bilgi için LicenseAssignments listForProductAndSku yöntemi referans sayfasına bakın.

Ürün SKU'suna göre belirli bir kullanıcının lisansını alma

Belirli bir kullanıcı lisansını ürün SKU'suna göre almak için aşağıdaki GET HTTP isteğini kullanın. Authorization üstbilgisini İstekleri yetkilendirme bölümünde açıklandığı şekilde ekleyin. Ürün ve SKU kimlikleri için API'nin kullanılabilir Ürünler ve SKU'lara bakın:

GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId

Aşağıdaki örnekte, userId'si alex@example.com olan kullanıcı için 50 GB'lık Google Drive depolama alanı ürün SKU'su alınmıştır:

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com

Kullanıcı bu lisansa sahipse bu, başarılı bir yanıt ve bir 200 HTTP durum kodudur. Olası hata kodları için API'nin Hata kodları'na bakın. Başarılı olursa yanıt, kullanıcının lisansını JSON biçiminde döndürür.

JSON Yanıtı

{
  "kind": "licensing#licenseAssignment",
  "etag": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
  "userId": "keshav@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-50GB",
  "skuName": "Google Drive storage 50 GB",
  "productName": "Google Drive storage"
}

Daha fazla bilgi için LicenseAssignments get yöntemi referans sayfasına bakın.

Lisans silme

Lisansın atamasını kullanıcıdan kaldırmak için aşağıdaki DELETE HTTP isteğini kullanın. Authorization üstbilgisini İstekleri yetkilendirme bölümünde açıklandığı şekilde ekleyin. Ürün ve SKU kimlikleri için API'nin kullanılabilir Ürünler ve SKU'lara bakın:

DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId

Aşağıdaki örnekte, userId'i alex@example.com olan kullanıcıdan Google-Drive-depolama-50 GB lisansının ataması kaldırılmıştır:

DELETE https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com

Başarılı bir yanıt, 200 HTTP durum kodu döndürür. Olası hata kodları için API'nin Hata kodları'na bakın.

Daha fazla bilgi için LicenseAssignments silme yöntemi referans sayfasına bakın.

Hata kodları

İstek başarısız olursa yanıtta hatayla ilgili kısa bir açıklama verilir:

Hata Kodu Açıklama
400 Hatalı İstek - Kullanıcı e-posta adresi geçerli değil.
400 Hatalı İstek - SKU/ürün mevcut değil.
401 İşlemi gerçekleştiren kullanıcının bu API'yi çağıracak kimlik bilgilerine sahip değil.
404 Kullanıcı bu lisansa sahip değilse yanıtta 'bulunamadı' hata kodu görüntülenir.
412 Bir ön koşul karşılanmadı. Bu hatayla ilgili ayrıntılar için message alanını kontrol edin. Örneğin:
  • Auto License switching is not allowed.
  • Auto License un-assignment is not allowed.
  • For reassign operations, the new SKU should be different from the old SKU: sku
  • Reassign operation can't be performed on different products: product1, product2
  • Reassign operation can't be performed on different users: user1, user2
  • There aren't enough available licenses for the specified product-SKU pair
  • User already has a license for the specified product and SKU
  • User already has a license of the product, but with a different SKU. To reassign a new SKU for this product, use the 'update' operation.
503 Lisans Yöneticisi hizmeti kullanılamıyor.