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ılı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ır. Google üçüncü taraf uygulama geliştiricilerinin lisansları nasıl yönettiği hakkında bilgi edinmek için Google Workspace Marketplace API'ye bakın.

Enterprise License Manager API, web hizmetlerine yönelik Representational State Transfer (Representational State Transfer - RESTful) tasarım yaklaşımına dayanır.

Lisansları Yönetme

Lisans atama

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 Yetkilendirme istekleri bölümünde açıklandığı şekilde ekleyin. Ürün ve SKU kimlikleri için API'nin mevcut ürünlerine ve SKU'larına 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ünleri için lisans atanabilir. Ancak bir kullanıcıya tek seferde ürün başına 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, Google-Drive-storage-20GB SKU'su, birincil e-posta adresi alex@example.com olan kullanıcıya 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ıtta 200 HTTP durum kodu döndürülür. Olası hata kodları için API'nin Hata kodları bölümüne 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 insert yöntemi referans sayfasına bakın.

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

Bir kullanıcının lisansını aynı üründe 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. İstekleri yetkilendirme bölümünde açıklandığı gibi Authorization üstbilgisini ekleyin. Ürün ve SKU kimlikleri için API'nin mevcut ürünlerine ve SKU'larına 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-20GB SKU'su Google-Drive-storage-50GB ile güncelleniyor. Mevcut lisans SKU'su isteğin URI'sinde, 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 istek 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ıtta 200 HTTP durum kodu döndürülür. Olası hata kodları için API'nin Hata kodları bölümüne bakın. İşlem 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üne ait tüm kullanıcı lisanslarını almak için aşağıdaki GET HTTP isteğini kullanın. İstekleri yetkilendirme bölümünde açıklandığı gibi Authorization üstbilgisini 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 mevcut ürünlerine ve SKU'larına bakın.

Bu örnekte, example.com alanında Google-Drive-storage ürünü için lisans atanmış tüm kullanıcıların sonuçlarının ilk sayfası listelenmiştir:

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ı bölümüne bakın. İşlem 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 atanmış tüm kullanıcıları alma

Belirli bir ürün SKU'suna sahip lisansları olan tüm kullanıcıların listesini almak için aşağıdaki GET HTTP isteğini kullanın. İstekleri yetkilendirme bölümünde açıklandığı gibi Authorization üstbilgisini 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üldüğünü 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 mevcut ürünlerine ve SKU'larına bakın.

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

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ı bölümüne bakın. İşlem 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ının ürün SKU'suna göre lisansını almak için aşağıdaki GET HTTP isteğini kullanın. İstekleri yetkilendirme bölümünde açıklandığı gibi Authorization üstbilgisini ekleyin. Ürün ve SKU kimlikleri için API'nin kullanılabilir Ürünler ve SKU'larına bakın:

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

Bu örnek, userId alanı alex@example.com olan kullanıcı için 50 GB'lık Google Drive depolama alanı ürün SKU'sunu alır:

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

Kullanıcının bu lisansı varsa yanıt başarılıdır ve 200 HTTP durum kodu döndürülür. Olası hata kodları için API'nin Hata kodları bölümüne 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

Bir kullanıcıdan lisans atamasını kaldırmak için aşağıdaki DELETE HTTP isteğini kullanın. İstekleri yetkilendirme bölümünde açıklandığı gibi Authorization üstbilgisini ekleyin. Ürün ve SKU kimlikleri için API'nin mevcut ürünlerine ve SKU'larına bakın:

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

Şu örnekte, Google-Drive-storage-50 GB lisansının ataması, userId kullanıcısı alex@example.com olan kullanıcıdan 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ı bölümüne 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 hatanın kısa bir açıklaması yer alır:

Hata Kodu Açıklama
400 Hatalı İstek: Kullanıcı e-posta adresi geçersiz.
400 Hatalı İstek: SKU/ürün mevcut değil.
401 Aktörün bu API'yi çağıracak kimlik bilgileri yok.
404 Kullanıcı bu lisansa sahip değilse yanıtta 'bulunamadı' hata kodu görünür.
412 Ön koşul karşılanmadı. Bu hata hakkında ayrıntılı bilgi 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.