Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use essa API REST para atualizar programaticamente uma extensão (ou um tema) que foi publicado em Complementos do Microsoft Edge, para automatizar o processo de upload e publicação de novas versões da sua extensão. Você pode integrar esses pontos de extremidade da API REST diretamente ao pipeline de integração contínua/entrega contínua (CI/CD) para publicar atualizações de pacote de extensão nos complementos do Microsoft Edge sem usar o Partner Center.
Essa API REST expõe pontos de extremidade para:
- Carregando um pacote para atualizar um envio existente
- Verificar o status de um carregamento de pacote
- Publicar o envio
- Verificando o status da publicação
Esses pontos de extremidade são descritos abaixo.
Para usar essa API REST, primeiro use a página API de publicação no Partner Center para habilitar a API.
Para publicar inicialmente uma nova extensão, use o Partner Center. Para atualizar a extensão, use manualmente o Partner Center ou use programaticamente essa API REST.
Para enviar sugestões e comentários, insira um problema sobre a API de Complementos.
Versões da API REST de atualização
A partir de 6 de setembro de 2024, há suporte para a v1.1 e a v1 dessa API REST de atualização. O suporte para v1 terminará em 31 de dezembro de 2024.
Componentes usados
v1.1 usa uma chave de API. A interface do usuário no Partner Center fornece chaves de API.
Os pontos de extremidade REST usam cabeçalhos de solicitação específicos para a v1.1.
Visão geral do uso da API REST de atualização
Para usar a API REST de atualização:
No dashboard do desenvolvedor do Partner Center, aceite a interface do usuário que usa chaves de API, clicando no botão Habilitar ao lado para habilitar a nova experiência. Os detalhes estão em Habilitar a API REST de atualização no Partner Center, abaixo.
Anote a ID do cliente e a nova chave de API.
Atualize seus fluxos de trabalho de autenticação, se necessário.
Reconfigure todos os pipelines de CI/CD (integração contínua/entrega contínua) que possam ser afetados por alterações na chave de API, como se você estivesse deixando de usar a v1 dessa API REST, que usa tokens de acesso em vez de chaves de API.
Ao usar um ponto de extremidade REST, especifique a ClientID e a chave de API no cabeçalho da solicitação. Os detalhes estão em Usando os pontos de extremidade da API, abaixo.
Os detalhes estão abaixo.
Terminologia
| Termo | Definição |
|---|---|
| operação | Uma operação REST, como GET ou POST. |
| ID da operação | A ID de uma operação REST. |
| package | O .zip pacote que contém os arquivos para sua extensão do Microsoft Edge. |
| produto, complemento | Uma extensão ou tema do Microsoft Edge publicado em Complementos do Microsoft Edge. |
| ID do produto | A ID do produto cujo rascunho precisa ser publicado. A ID do produto é um GUID de 128 bits associado a um produto no Partner Center. Por exemplo: d34f98f5-f9b7-42b1-bebb-98707202b21d. |
| Submissão | Uma atualização que está sendo enviada para um produto existente no Partner Center. Cada atualização de um produto é um envio, independentemente de o status ser In Draft, In Reviewou In the Store (publicado). |
Habilitar a API REST de atualização no Partner Center
Para usar a API de Complementos do Microsoft Edge, primeiro você precisa habilitar a API para seu projeto no Microsoft Partner Center criando credenciais de API, da seguinte maneira:
No dashboard do desenvolvedor do Partner Center, entre na conta que você usou para publicar uma extensão do Edge.
No programa Microsoft Edge, selecione Publicar API.
Ao lado da mensagem "habilitar a nova experiência", clique no botão Habilitar :
A captura de tela acima mostra a interface do usuário v1, incluindo a URL do token de acesso e os segredos, antes de clicar no botão Habilitar para alternar para a interface do usuário v1.1.
Na página Publicar API , clique no botão Criar credenciais de API . Essa etapa pode levar alguns minutos para ser concluída.
A ID do cliente e uma nova chave de API são geradas automaticamente:
As credenciais da API foram criadas; você habilitou ou renovou a API. Os seguintes itens agora são exibidos na página da API de Publicação :
- Sua ID do cliente.
-
Chaves de API.
- A data de expiração de cada chave de API.
Anote o seguinte:
- A ID do cliente.
- A nova chave de API.
Você usará a ID do Cliente e a chave de API no cabeçalho da solicitação ao usar um ponto de extremidade REST.
Usando os pontos de extremidade da API
A API REST de atualização expõe pontos de extremidade para:
- Carregando um pacote para atualizar um envio existente
- Verificar o status de um carregamento de pacote
- Publicar o envio
- Verificando o status da publicação
Esses pontos de extremidade são apresentados abaixo.
Para usar esta API REST de atualização de complementos do Microsoft Edge, você deve ter o seguinte, conforme descrito acima:
A API está disponível na raiz https://api.addons.microsoftedge.microsoft.comdo ponto de extremidade .
Não há pontos de extremidade da API REST para:
- Criando um novo produto.
- Atualizar metadados de um produto, como a descrição.
Para criar um novo produto ou atualizar os metadados de um produto, você deve usar o Microsoft Partner Center.
Carregando um pacote para atualizar um envio existente
Use esse ponto de extremidade da API REST para atualizar o pacote de um complemento. Essa API carrega um pacote para atualizar um rascunho de envio existente de um produto complementar.
Consulte também Carregar um pacote para atualizar um envio existente na Referência da API REST para atualizar uma extensão em Complementos do Microsoft Edge.
Descrição do ponto de extremidade
Endpoint: /v1/products/$productID/submissions/draft/package
Type: POST
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID; Content-Type: application/zip
Body content: the package file to upload
$productID é a ID do produto da extensão do Microsoft Edge que você deseja atualizar.
Para obter a ID do produto:
Vá para Visãogeral do Microsoft Edge>.
Selecione a extensão para a qual deseja a ID do produto.
A página Visão geral da extensão é aberta. A ID do produto é mostrada na página. (A ID do produto também é mostrada como o GUID na URL na barra de endereços, entre
microsoftedge/e/packages.)Na seção Identidade da extensão (ou na barra de endereços), selecione e copie a ID do produto.
Solicitação de amostra
Para carregar um pacote para atualizar um envio existente, use o curl comando em um prompt de comando da seguinte maneira:
> curl \
-H "Authorization: ApiKey $ApiKey" \
-H "X-ClientID: $ClientID" \
-H "Content-Type: application/zip" \
-X POST \
-T $FILE_NAME \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions/draft/package
Se a solicitação for bem-sucedida e o processo de atualização for iniciado, você receberá um código de 202 Accepted status de resposta com um Location cabeçalho. Esse cabeçalho de local contém o operationID que é necessário para verificar o status da operação de atualização.
Veja também:
- Carregar um pacote para atualizar um envio existente na API REST Referência para atualizar uma extensão no Microsoft Edge Complementos.
Verificar o status de um carregamento de pacote
Use essa API para marcar o status do carregamento do pacote.
$operationID é a ID da operação retornada no cabeçalho de resposta de Carregando um pacote para atualizar um envio existente ou Publicando o envio.
Confira também Verificar o status de publicação na Referência da API REST para atualizar uma extensão em Complementos do Microsoft Edge.
Descrição do ponto de extremidade
Endpoint: /v1/products/$productID/submissions/draft/package/operations/$operationID
Type: GET
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID
Solicitação de amostra
Para marcar o status de um carregamento de pacote, use o curl comando no prompt de comando da seguinte maneira:
> curl \
-H "Authorization: ApiKey $ApiKey" \
-H "X-ClientID: $ClientID" \
-X GET \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions/draft/package/operations/$operationID
Veja também:
- Verificar o status de um carregamento de pacote na API REST Referência para atualizar uma extensão em Complementos do Microsoft Edge.
Publicar o envio
Use essa API para publicar o rascunho atual do produto em Complementos do Microsoft Edge.
Consulte também Publicar o envio de rascunho do produto na Referência da API REST para atualizar uma extensão em Complementos do Microsoft Edge.
Descrição do ponto de extremidade
Endpoint: /v1/products/$productID/submissions
Type: POST
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID
Body content: Notes for certification, in JSON format
Solicitação de amostra
Para publicar o envio, use o curl comando no prompt de comando da seguinte maneira:
> curl \
-H "Authorization: ApiKey $ApiKey" \
-H "X-ClientID: $ClientID" \
-X POST \
-d '{ "notes"="text value" }' \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions
Se a solicitação for bem-sucedida e o processo de publicação for iniciado, você receberá um código de 202 Accepted status de resposta com um Location cabeçalho. Esse cabeçalho de localização contém o operationID que é necessário para verificar o status da operação de publicação.
Veja também:
- Publicar o envio de rascunho do produto na API REST Referência para atualizar uma extensão no Microsoft Edge Complementos.
Verificando o status da publicação
Use essa API para marcar o status da operação de publicação.
$operationID é a ID da operação retornada no cabeçalho de resposta de Carregando um pacote para atualizar um envio existente ou Publicando o envio.
Confira também Verificar o status de publicação na Referência da API REST para atualizar uma extensão em Complementos do Microsoft Edge.
Descrição do ponto de extremidade
Endpoint: /v1/products/$productID/submissions/operations/$operationID
Type: GET
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID
Solicitação de amostra
Para marcar o status da publicação, use o curl comando no prompt de comando da seguinte maneira:
> curl \
-H "Authorization: ApiKey $ApiKey" \
-H "X-ClientID: $ClientID" \
-X GET \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions/operations/$operationID
Veja também:
- Verifique o status de publicação na Referência da API REST para atualizar uma extensão nos Complementos do Microsoft Edge.
Exemplo: verificar o status da publicação e publicar uma extensão com um script do PowerShell
O código a seguir é um exemplo de script do PowerShell que usa a API REST para marcar o status de publicação de uma extensão e publicar essa extensão.
Para usar esse script, preencha os $ClientIDvalores , $ClientSecret, $ProductIDe $FilePATH , e na parte superior do script.
Param(
[string] $ClientID = '',
[string] $ClientSecret = '',
[string] $ProductID = '',
[string] $FilePATH = '',
[int] $RetryLimit = 10,
[int] $RetryAfterPeriod = 5,
[string] $ApiEndpoint = 'https://api.addons.microsoftedge.microsoft.com',
[string] $PublishNotes = 'This is a test publish'
)
function ReadKeyFromJSON($jsonContent, $keyToFetch){
$jsonContent.TrimStart('{').TrimEnd('}').Split(',') |ForEach-Object {
$key,$value = $_.Split(':')
if($key.Trim('"') -eq $keyToFetch) {
return $value.Trim('"')
}
}
return ''
}
function ReadLocationFromRawContent($jsonRawContent) {
$jsonRawContent.Split([System.Environment]::NewLine, [System.StringSplitOptions]::RemoveEmptyEntries) | ForEach-Object {
$key,$value = $_.Split(':')
if ($key -eq 'Location') {
return $value
}
}
return ''
}
$PublishNotesBody = @{
notes = $PublishNotes
}
$GetTokenHeaders = @{
'Content-Type' = 'application/x-www-form-urlencoded'
}
$UploadHeaders = @{
"Authorization" = "ApiKey $ClientSecret"
"Content-Type" = "application/zip"
"X-ClientID" = "$ClientID"
}
$uploadResponse = Invoke-WebRequest "$ApiEndpoint/v1/products/$ProductID/submissions/draft/package" -Headers $UploadHeaders -Method 'POST' -InFile $FilePATH
$uploadResponse
$uploadOperationId = ''
if($uploadResponse.StatusCode -eq 202) {
"Upload Successful"
$uploadOperationId = ReadLocationFromRawContent($uploadResponse.RawContent)
}
$uploadStatusResponse = Invoke-WebRequest "$ApiEndpoint/v1/products/$ProductID/submissions/draft/package/operations/$UploadOperationId" -Headers $UploadHeaders -Method 'GET'
$uploadStatusResponse
$uploadStatus = 'InProgress'
if($uploadStatusResponse.StatusCode -eq 202) {
"Upload Status Received Successfully"
$retryCount = 1;
while($uploadStatus -eq 'InProgress') {
if($retryCount -gt $RetryLimit) {
Exit-PSSession
}
$uploadStatusResponse = Invoke-WebRequest "$ApiEndpoint/v1/products/$ProductID/submissions/draft/package/operations/$UploadOperationId" -Headers $UploadHeaders -Method 'GET'
$retryCount = $retryCount + 1
Start-Sleep -Seconds $RetryAfterPeriod
$uploadStatus = ReadKeyFromJSON($uploadStatusResponse.Content, 'status')
}
}
$publishResponse = Invoke-WebRequest "$ApiEndpoint/v1/products/$productID/submissions" -Headers $UploadHeaders -Method 'POST' -Body $PublishNotesBody
$publishResponse
$PublishOperationId = ''
if($publishResponse.StatusCode -eq 202) {
"Published Successfully"
$PublishOperationId = ReadLocationFromRawContent($publishResponse.RawContent)
}
$PublishOperationId
$publishStatusResponse = Invoke-WebRequest "$ApiEndpoint/v1/products/$ProductID/submissions/operations/$PublishOperationId" -Headers $UploadHeaders -Method 'GET'
$publishStatusResponse
$publishStatus = 'InProgress'
$publishStatusResponse.Content
if($publishStatusResponse.StatusCode -eq 202) {
"Publish Status Received Successfully"
$retryCount = 1;
while($publishStatus -eq 'InProgress') {
if($retryCount -gt $RetryLimit) {
Exit-PSSession
}
$publishStatusResponse = Invoke-WebRequest "$ApiEndpoint/v1/products/$ProductID/submissions/operations/$PublishOperationId" -Headers $UploadHeaders -Method 'GET'
$retryCount = $retryCount + 1
Start-Sleep -Seconds $RetryAfterPeriod
$publishStatus = ReadKeyFromJSON($publishStatusResponse.Content, 'status')
}
}
$publishStatus
Confira também
- API REST Referência para atualizar uma extensão no Microsoft Edge Complementos - API REST para atualizar uma extensão.
- APIs com suporte para extensões do Microsoft Edge - APIs JavaScript para desenvolver uma extensão.
GitHub:
-
Problemas no
edge-developerrepositório de documentos do Microsoft Edge Developer.
plataforma de identidade da Microsoft: