Z tego dokumentu dowiesz się, jak administratorzy na poziomie konta i administratorzy w firmach resellerskich mogą używać interfejsu Enterprise License Manager API do zarządzania przypisaniem licencji użytkownikom. Po włączeniu licencji na kody SKU produktów na koncie i utworzeniu użytkowników użyj interfejsu API menedżera licencji dla firm, aby przypisywać, aktualizować, pobierać i usuwać licencje dla użytkowników konta.
W tej wersji interfejs Enterprise License Manager API jest używany przez administratorów kont i resellerów. Z interfejsu Enterprise License Manager API mogą też korzystać delegowani administratorzy z uprawnieniami License Management
.
Uwaga: interfejs Enterprise License Manager API jest używany przez klienta Google. Informacje o tym, jak deweloperzy aplikacji innych firm zarządzają licencjami Google, znajdziesz w artykule Interfejs API Google Workspace Marketplace.
Interfejs Enterprise License Manager API jest oparty na podejściu Representational State Transfer (RESTful) do projektowania usług internetowych.
Zarządzanie licencjami
Przypisywanie licencji
Wcześniej klient lub sprzedawca zamówił licencje na usługi Google i utworzył konto użytkownika. Aby przypisać temu użytkownikowi jedną z tych licencji na usługi, wyślij to żądanie HTTP POST
. Dołącz nagłówek Authorization
zgodnie z opisem w sekcji Autoryzacja żądań. Identyfikatory usług i SKU znajdziesz w sekcji Usługi i SKU w interfejsie API:
POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user
Uwaga: użytkownik może mieć przypisane licencje na wiele różnych usług Google. Użytkownik otrzymuje jednak tylko 1 licencję na SKU na usługę naraz. Za pomocą interfejsu API można przypisać inną licencję SKU do danego produktu.
W tym przykładzie SKU Google-Drive-storage-20GB jest przypisany do użytkownika, którego główny adres e-mail to alex@example.com:
POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user
Treść żądania w formacie JSON:
{ "userId" : "alex@example.com", }
Pomyślna odpowiedź zwraca 200
kod stanu HTTP. Możliwe kody błędów znajdziesz w kodeksie błędów interfejsu API. Jeśli operacja się uda, odpowiedź zwróci stan przypisania licencji w formacie danych JSON.
Odpowiedź JSON
{ "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" }
Więcej informacji znajdziesz na stronie z informacjami o metodzie wstawiania w usłudze LicenseAssignments.
Przypisz ponownie kod SKU produktu użytkownika, podając inny kod SKU dla tego samego produktu
Aby ponownie przypisać licencję użytkownika do nowego kodu SKU w ramach tego samego produktu, użyj tego PUT
żądania HTTP. Interfejs API obsługuje też składnię poprawki. Dodaj nagłówek Authorization
zgodnie z opisem w sekcji Autoryzowanie żądań. Aby sprawdzić identyfikatory produktów i kodów SKU, zapoznaj się z dostępnymi produktami i kodami SKU dostępnymi w interfejsie API:
PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email
W tym przykładzie obecny kod SKU Google-Drive-storage-20GB jest aktualizowany na kod SKU Google-Drive-storage-50GB. Obecny kod SKU licencji znajduje się w identyfikatorze URI żądania, a nowy kod SKU licencji – w treści żądania:
PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com
Treść żądania w formacie JSON zawiera :
{ "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" }
Pomyślna odpowiedź zwraca kod stanu HTTP 200
. Możliwe kody błędów znajdziesz w kodeksie błędów interfejsu API. Jeśli operacja się uda, odpowiedź zwróci stan przypisania licencji w formacie danych JSON.
Odpowiedź JSON
{ "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" }
Więcej informacji znajdziesz na stronach referencyjnych metody aktualizacji i metody patcha dotyczących operacji licenseAssignments.
Pobieranie informacji o wszystkich użytkownikach, do których przypisano licencje na konkretny produkt
Aby uzyskać wszystkie licencje użytkowników na określoną usługę, użyj tego żądania HTTP GET
. Dodaj nagłówek Authorization
zgodnie z opisem w sekcji Autoryzowanie żądań. Ciąg zapytania customerId
to nazwa domeny podstawowej klienta. Parametr ciągu zapytania maxResults
określa, ile rekordów licencji użytkownika zostanie zwróconych w odpowiedzi interfejsu API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page
Identyfikatory usług i SKU znajdziesz w sekcji Usługi i kody SKU w interfejsie API.
W tym przykładzie widzisz pierwszą stronę wyników dla wszystkich użytkowników w domenie example.com z przypisanymi licencjami na Dysk Google:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2
Pomyślna odpowiedź zwraca kod stanu HTTP 200
. Możliwe kody błędów znajdziesz w artykule Kody błędów interfejsu API. Jeśli operacja się uda, odpowiedź zwróci listę licencji w formacie JSON.
Odpowiedź JSON
{ "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" }, ... }
Więcej informacji znajdziesz na stronie referencyjnej metody listForProduct interfejsu licenseAssignments.
Pobieranie informacji o wszystkich użytkownikach, którym przypisano licencje na konkretny kod SKU produktu
Aby uzyskać listę wszystkich użytkowników z licencjami na określoną usługę, użyj tego żądania HTTP GET
. Dodaj nagłówek Authorization
zgodnie z opisem w sekcji Autoryzowanie żądań. Parametr ciągu zapytania customerId
to nazwa domeny podstawowej klienta. Ciąg zapytania maxResults
określa, ile wpisów użytkowników jest zwracanych w odpowiedzi interfejsu API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/users?customerId=primary domain name&maxResults=max results per response page
Aby uzyskać identyfikatory produktów i kodów SKU, zapoznaj się z dostępnymi produktami i kodami SKU dostępnymi w interfejsie API.
Ten przykład zwraca pierwszą stronę ze wszystkimi użytkownikami w domenie example.com, którym przypisano licencję na kod SKU Google-Drive-storage-200GB. Odpowiedź zawiera 2 rekordy użytkowników na stronę:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/users?customerId=example.com&maxResults=2
Pomyślna odpowiedź zwraca 200
kod stanu HTTP. Możliwe kody błędów znajdziesz w kodeksie błędów interfejsu API. Jeśli operacja się powiedzie, odpowiedź zwróci listę licencji w formacie JSON.
Odpowiedź JSON
{ "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" }, ... }
Więcej informacji znajdziesz na stronie referencyjnej metody listForProductAndSku interfejsu licenseAssignments.
Pobieranie licencji konkretnego użytkownika według kodu SKU produktu
Aby uzyskać licencję konkretnego użytkownika na podstawie kodu SKU produktu, użyj tego żądania HTTP GET
. Dodaj nagłówek Authorization
zgodnie z opisem w sekcji Autoryzowanie żądań. Identyfikatory usług i SKU znajdziesz w sekcji Usługi i jednostki SKU w interfejsie API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
W tym przykładzie uzyskujemy kod SKU Dysku Google o pojemności 50 GB dla użytkownika, którego adres userId
to alex@example.com:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com
Jeśli użytkownik ma tę licencję, odpowiedź jest pomyślna i zwracany jest kod stanu HTTP 200
. Możliwe kody błędów znajdziesz w kodeksie błędów interfejsu API. Jeśli operacja się powiedzie, odpowiedź zwróci licencję użytkownika w formacie JSON.
Odpowiedź JSON
{ "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" }
Więcej informacji znajdziesz na stronie referencyjnej metody get dla zbioru licenseAssignments.
Usuwanie licencji
Aby cofnąć przypisanie licencji użytkownikowi, użyj tego żądania HTTP DELETE
. Dodaj nagłówek Authorization
zgodnie z opisem w sekcji Autoryzowanie żądań. Identyfikatory usług i SKU znajdziesz w sekcji Usługi i SKU w interfejsie API:
DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
W tym przykładzie cofnięto przypisanie licencji Google-Drive-storage-50GB do użytkownika, którego adres userId
to alex@example.com:
DELETE https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com
Pomyślna odpowiedź zwraca kod stanu HTTP 200
. Możliwe kody błędów znajdziesz w kodeksie błędów interfejsu API.
Więcej informacji znajdziesz na stronie referencyjnej metody usuwania w operacji licenseAssignments.
Kody błędów
Jeśli żądanie nie powiedzie się, odpowiedź będzie zawierać krótkie wyjaśnienie błędu:
Kod błędu | Opis |
---|---|
400 | Nieprawidłowe żądanie – adres e-mail użytkownika jest nieprawidłowy. |
400 | Nieprawidłowe żądanie – kod SKU lub produkt nie istnieje. |
401 | Użytkownik, który wykonał czynność, nie ma uprawnień do wywołania tego interfejsu API. |
404 | Jeśli użytkownik nie ma tej licencji, odpowiedź zawiera kod błędu „not found”. |
412 | Warunek wstępny nie został spełniony. Szczegółowe informacje o tym błędzie znajdziesz w polu message . Przykład:
|
503 | Usługa Menedżera licencji jest niedostępna. |