Ao fornecer exemplos de solicitações e respostas da API do Google Workspace Marketplace, este documento mostra como obter detalhes de instalação e licenciamento de apps do Google Workspace Marketplace.
O aplicativo é instalado por um administrador
O administrador de cymbalgroup.com instalou o aplicativo para todos na organização.
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get para receber o status de licenciamento
de user1@cymbalgroup.com e determinar se ele tem permissão para usar o
aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.comCorpo da resposta
Como o cymbalgroup.com instalou o aplicativo, a resposta retorna o recurso
userLicense para user1@cymbalgroup.com. O recurso userLicense
tem o campo
enabled
definido como true, indicando que o administrador do domínio para
cymbalgroup.com ativou o aplicativo para esse domínio, e o campo
state
definido como ACTIVE, indicando que user1@cymbalgroup.com tem uma licença válida
e pode usar o aplicativo.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "user1@cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user1@cymbalgroup.com"
}
Solicitação customerLicense.get
Essa solicitação chama o método customerLicense.get para receber o status de licenciamento
de cymbalgroup.com e determinar se eles têm acesso ao aplicativo.
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/APPLICATION_ID/cymbalgroup.comCorpo da resposta
A resposta retorna o recurso customerLicense para cymbalgroup.com
em que o campo
state
está definido como ACTIVE, indicando que o cliente tem uma licença válida.
{
"kind": "appsmarket#customerLicense",
"id": "CUSTOMER_LICENSE_ID",
"applicationId": "APPLICATION_ID",
"customerId": "cymbalgroup.com",
"state": "ACTIVE",
"editions": [
{
"editionId": "default_edition",
"seatCount": -1
}
]
}
O aplicativo é instalado pelo administrador apenas para a unidade organizacional de um usuário específico.
O aplicativo agora só é instalado pelo administrador na unidade organizacional (UO) de user2@cymbalgroup.com. Ele não é mais instalado pelo administrador para todos na organização.
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get para receber o status de licenciamento
de user3@cymbalgroup.com e determinar se ele tem permissão para usar o
aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user3@cymbalgroup.comCorpo da resposta
Como o aplicativo só foi instalado pelo administrador para user2@cymbalgroup.com,
a resposta retorna um recurso userLicense para user3@cymbalgroup.com
com o campo enabled definido como false, indicando que o administrador
do domínio cymbalgroup.com não ativou o aplicativo para esse
domínio, e o campo state definido como ACTIVE, indicando que o usuário tem uma
licença válida e pode usar o aplicativo.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user3@cymbalgroup.com"
}
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get para receber o status de licenciamento
de user2@cymbalgroup.com e determinar se ele tem permissão para usar o
aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.comCorpo da resposta
Como o aplicativo só foi instalado pelo administrador para user2@cymbalgroup.com,
a resposta retorna um recurso userLicense para user2@cymbalgroup.com
com o campo enabled definido como true e o campo state definido como
ACTIVE.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user2@cymbalgroup.com"
}
O aplicativo é excluído para todos na organização
Mesmo que o aplicativo tenha sido excluído para todos na organização, user1@cymbalgroup.com ainda tem acesso porque o instalou individualmente.
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get para receber o status de licenciamento
de user2@cymbalgroup.com e determinar se ele tem permissão para usar o
aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.comCorpo da resposta
Como o aplicativo foi excluído para todos na organização, a resposta
retorna um recurso userLicense para user2@cymbalgroup.com com o
campo enabled definido como false e o campo state definido como UNLICENSED,
indicando que o administrador do domínio desse usuário não atribuiu uma licença para
o aplicativo a ele.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user2@cymbalgroup.com"
}
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get para receber o status de licenciamento
de user1@cymbalgroup.com e determinar se ele tem permissão para usar o
aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.comCorpo da resposta
Como user1@cymbalgroup.com instalou o aplicativo individualmente, ele ainda tem permissão para usá-lo. A resposta retorna um recurso userLicense
com o campo enabled definido como true e o campo state definido como
ACTIVE.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "user1@cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user1@cymbalgroup.com"
}