Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie diese REST-API, um eine Erweiterung (oder ein Design) programmgesteuert zu aktualisieren, die unter Microsoft Edge-Add-Ons veröffentlicht wurde, um den Prozess des Hochladens und Veröffentlichens neuer Versionen Ihrer Erweiterung zu automatisieren. Sie können diese REST-API-Endpunkte direkt in Ihre CI/CD-Pipeline (Continuous Integration/Continuous Delivery) integrieren, um Erweiterungspaketupdates in Microsoft Edge-Add-Ons zu veröffentlichen, ohne Partner Center zu verwenden.
Diese REST-API macht Endpunkte für Folgendes verfügbar:
- Hochladen eines Pakets zum Aktualisieren einer vorhandenen Übermittlung
- Überprüfen der status eines Paketuploads
- Veröffentlichen der Übermittlung
- Überprüfen der Veröffentlichungs-status
Diese Endpunkte werden unten beschrieben.
Um diese REST-API zu verwenden, verwenden Sie zunächst die Seite Api veröffentlichen im Partner Center, um die API zu aktivieren.
Um zunächst eine neue Erweiterung zu veröffentlichen, verwenden Sie Partner Center. Um die Erweiterung zu aktualisieren, verwenden Sie entweder manuell Partner Center, oder verwenden Sie diese REST-API programmgesteuert.
Um Vorschläge und Feedback zu übermitteln, geben Sie ein Problem zur Add-Ons-API ein.
Versionen der Update-REST-API
Ab dem 6. September 2024 werden sowohl v1.1 als auch v1 dieser Update-REST-API unterstützt. Der Support für v1 endet am 31. Dezember 2024.
Verwendete Komponenten
v1.1 verwendet einen API-Schlüssel. Die Benutzeroberfläche im Partner Center stellt API-Schlüssel bereit.
Die REST-Endpunkte verwenden bestimmte Anforderungsheader für v1.1.
Übersicht über die Verwendung der Update-REST-API
So verwenden Sie die Update-REST-API:
Melden Sie sich in Ihrem Partner Center-Entwickler-Dashboard für die Benutzeroberfläche an, die API-Schlüssel verwendet, indem Sie neben auf die Schaltfläche Aktivieren klicken, um die neue Benutzeroberfläche zu aktivieren. Details finden Sie unten unter Aktivieren der Update-REST-API im Partner Center.
Notieren Sie sich die Client-ID und den neuen API-Schlüssel.
Aktualisieren Sie Bei Bedarf Ihre Authentifizierungsworkflows.
Konfigurieren Sie alle CI/CD-Pipelines (Continuous Integration/Continuous Delivery), die möglicherweise von Änderungen am API-Schlüssel betroffen sind, z. B. wenn Sie von der Verwendung von v1 dieser REST-API wechseln, die Zugriffstoken anstelle von API-Schlüsseln verwendet.
Wenn Sie einen REST-Endpunkt verwenden, geben Sie die ClientID und den API-Schlüssel im Anforderungsheader an. Details finden Sie weiter unten unter Verwenden der API-Endpunkte.
Details finden Sie unten.
Begrifflichkeiten
Begriff | Definition |
---|---|
operation | Ein REST-Vorgang wie GET oder POST. |
Vorgangs-ID | Die ID eines REST-Vorgangs. |
package | Das .zip Paket, das die Dateien für Ihre Microsoft Edge-Erweiterung enthält. |
Produkt | Eine Microsoft Edge-Erweiterung oder ein Design. Manchmal auch als Microsoft Edge-Add-On bezeichnet. |
Produkt-ID | Die Produkt-ID des Produkts, dessen Entwurf veröffentlicht werden muss. Die Produkt-ID ist eine 128-Bit-GUID, die einem Produkt im Partner Center zugeordnet ist. Beispiel: d34f98f5-f9b7-42b1-bebb-98707202b21d . |
Unterwerfung | Ein Update, das an ein vorhandenes Produkt im Partner Center übermittelt wird. Jedes Update an einem Produkt ist eine Übermittlung, unabhängig davon, ob die status , In Review oder In the Store (veröffentlicht) istIn Draft . |
Aktivieren der Update-REST-API im Partner Center
Um die Microsoft Edge-Add-Ons-API verwenden zu können, müssen Sie zunächst die API für Ihr Projekt im Microsoft Partner Center aktivieren, indem Sie API-Anmeldeinformationen wie folgt erstellen:
Melden Sie sich bei Ihrem Partner Center-Entwickler-Dashboard bei dem Konto an, das Sie zum Veröffentlichen einer Edge-Erweiterung verwendet haben.
Wählen Sie unter dem Microsoft Edge-Programm die Option Api veröffentlichen aus.
Klicken Sie neben der Meldung "Neue Benutzeroberfläche aktivieren" auf die Schaltfläche Aktivieren :
Der obige Screenshot zeigt die Benutzeroberfläche v1, einschließlich Zugriffstoken-URL und Geheimnisse, bevor Sie auf die Schaltfläche Aktivieren klicken, um zur Benutzeroberfläche v1.1 zu wechseln.
Klicken Sie auf der Seite API veröffentlichen auf die Schaltfläche API-Anmeldeinformationen erstellen . Dieser Schritt kann einige Minuten dauern.
Die Client-ID und ein neuer API-Schlüssel werden automatisch generiert:
Die API-Anmeldeinformationen wurden jetzt erstellt. Sie haben die API aktiviert oder erneuert. Die folgenden Elemente werden jetzt auf der Seite Api veröffentlichen angezeigt:
- Ihre Client-ID.
-
API-Schlüssel.
- Das Ablaufdatum für jeden API-Schlüssel.
Notieren Sie sich Folgendes:
- Die Client-ID.
- Der neue API-Schlüssel.
Sie verwenden die Client-ID und den API-Schlüssel im Anforderungsheader, wenn Sie einen REST-Endpunkt verwenden.
Verwenden der API-Endpunkte
Die Update-REST-API macht Endpunkte für Folgendes verfügbar:
- Hochladen eines Pakets zum Aktualisieren einer vorhandenen Übermittlung
- Überprüfen der status eines Paketuploads
- Veröffentlichen der Übermittlung
- Überprüfen der Veröffentlichungs-status
Diese Endpunkte werden unten vorgestellt.
Um diese Update-REST-API für Microsoft Edge-Add-Ons verwenden zu können, müssen Sie über Folgendes verfügen:
Die API ist im Endpunktstamm https://api.addons.microsoftedge.microsoft.com
verfügbar.
Es gibt keine REST-API-Endpunkte für:
- Erstellen eines neuen Produkts.
- Aktualisieren der Metadaten eines Produkts, z. B. der Beschreibung.
Um ein neues Produkt zu erstellen oder die Metadaten eines Produkts zu aktualisieren, müssen Sie Microsoft Partner Center verwenden.
Hochladen eines Pakets zum Aktualisieren einer vorhandenen Übermittlung
Verwenden Sie diesen REST-API-Endpunkt, um das Paket für ein Add-On zu aktualisieren. Diese API lädt ein Paket hoch, um einen vorhandenen Entwurf der Übermittlung eines Add-On-Produkts zu aktualisieren.
Informationen zum Aktualisieren einer Erweiterung bei Microsoft Edge-Add-Ons finden Sie unter Hochladen eines Pakets zum Aktualisieren einer vorhandenen Übermittlung in der REST-API-Referenz.
Endpunktbeschreibung
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
ist die Produkt-ID der Microsoft Edge-Erweiterung, die Sie aktualisieren möchten.
So rufen Sie die Produkt-ID ab:
Melden Sie sich bei Ihrem Partner Center-Entwickler-Dashboard an.
Wechseln Sie zu Microsoft Edge>Übersicht.
Wählen Sie die Erweiterung aus, für die Sie die Produkt-ID verwenden möchten.
Die Seite Mit der Erweiterungsübersicht wird geöffnet. Die Produkt-ID wird auf der Seite angezeigt. (Die Produkt-ID wird auch als GUID in der URL in der Adressleiste zwischen
microsoftedge/
und/packages
angezeigt.)Wählen Sie im Abschnitt Erweiterungsidentität (oder in der Adressleiste) die Produkt-ID aus, und kopieren Sie sie.
Beispielanfrage
Um ein Paket hochzuladen, um eine vorhandene Übermittlung zu aktualisieren, verwenden Sie den curl
Befehl an einer Eingabeaufforderung wie folgt:
> 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
Wenn die Anforderung erfolgreich ist und der Aktualisierungsprozess beginnt, erhalten Sie eine 202 Accepted
Antwort status Code mit einem Location
Header. Dieser Speicherortheader enthält die , die operationID
zum Überprüfen der status des Aktualisierungsvorgangs erforderlich ist.
Siehe auch:
- Laden Sie ein Paket hoch, um eine vorhandene Übermittlung in derREST-API-Referenz zum Aktualisieren einer Erweiterung bei Microsoft Edge-Add-Ons zu aktualisieren.
Überprüfen der status eines Paketuploads
Verwenden Sie diese API, um die status des Paketuploads zu überprüfen.
$operationID
ist die Vorgangs-ID, die im Antwortheader von Hochladen eines Pakets zum Aktualisieren einer vorhandenen Übermittlung oder Veröffentlichen der Übermittlung zurückgegeben wird.
Informationen zum Aktualisieren einer Erweiterung bei Microsoft Edge-Add-Ons finden Sie unter Überprüfen der Veröffentlichungs-status in der REST-API-Referenz.
Endpunktbeschreibung
Endpoint: /v1/products/$productID/submissions/draft/package/operations/$operationID
Type: GET
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID
Beispielanfrage
Um die status eines Paketuploads zu überprüfen, verwenden Sie den curl
Befehl an der Eingabeaufforderung wie folgt:
> 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
Siehe auch:
- Überprüfen Sie die status eines Paketuploads in der REST-API-Referenz, um eine Erweiterung bei Microsoft Edge-Add-Ons zu aktualisieren.
Veröffentlichen der Übermittlung
Verwenden Sie diese API, um den aktuellen Produktentwurf unter Microsoft Edge-Add-Ons zu veröffentlichen.
Informationen zum Aktualisieren einer Erweiterung bei Microsoft Edge-Add-Ons finden Sie unter Veröffentlichen der Produktentwurfsübermittlung in der REST-API-Referenz.
Endpunktbeschreibung
Endpoint: /v1/products/$productID/submissions
Type: POST
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID
Body content: Notes for certification, in JSON format
Beispielanfrage
Um die Übermittlung zu veröffentlichen, verwenden Sie den curl
Befehl an der Eingabeaufforderung wie folgt:
> 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
Wenn die Anforderung erfolgreich ist und der Veröffentlichungsprozess beginnt, erhalten Sie eine 202 Accepted
Antwort status Code mit einem Location
Header. Dieser Speicherortheader enthält die , die operationID
zum Überprüfen der status des Veröffentlichungsvorgangs erforderlich ist.
Siehe auch:
- Veröffentlichen Sie die Produktentwurfsübermittlung in derREST-API-Referenz zum Aktualisieren einer Erweiterung unter Microsoft Edge-Add-Ons.
Überprüfen der Veröffentlichungs-status
Verwenden Sie diese API, um die status des Veröffentlichungsvorgangs zu überprüfen.
$operationID
ist die Vorgangs-ID, die im Antwortheader von Hochladen eines Pakets zum Aktualisieren einer vorhandenen Übermittlung oder Veröffentlichen der Übermittlung zurückgegeben wird.
Informationen zum Aktualisieren einer Erweiterung bei Microsoft Edge-Add-Ons finden Sie unter Überprüfen der Veröffentlichungs-status in der REST-API-Referenz.
Endpunktbeschreibung
Endpoint: /v1/products/$productID/submissions/operations/$operationID
Type: GET
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID
Beispielanfrage
Um die Veröffentlichungs-status zu überprüfen, verwenden Sie den curl
Befehl an der Eingabeaufforderung wie folgt:
> curl \
-H "Authorization: ApiKey $ApiKey" \
-H "X-ClientID: $ClientID" \
-X GET \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions/operations/$operationID
Siehe auch:
- Überprüfen Sie die Veröffentlichungs-status in der REST-API-Referenz, um eine Erweiterung bei Microsoft Edge-Add-Ons zu aktualisieren.
Beispiel: Überprüfen der Veröffentlichung status und Veröffentlichen einer Erweiterung mit einem PowerShell-Skript
Der folgende Code ist ein Beispiel für ein PowerShell-Skript, das die REST-API verwendet, um die Veröffentlichung status einer Erweiterung zu überprüfen und diese Erweiterung zu veröffentlichen.
Um dieses Skript zu verwenden, geben Sie oben im Skript die $ClientID
Werte , $ClientSecret
$ProductID
, und $FilePATH
ein.
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
Siehe auch
- REST-API-Referenz zum Aktualisieren einer Erweiterung bei Microsoft Edge-Add-Ons : REST-API zum Aktualisieren einer Erweiterung.
- Unterstützte APIs für Microsoft Edge-Erweiterungen : JavaScript-APIs zum Entwickeln einer Erweiterung.
GitHub:
-
Probleme im
edge-developer
Repository für Microsoft Edge Developer-Dokumentation.
Microsoft Identity Platform: