この REST API を使用して、 Microsoft Edge アドオンで公開されている拡張機能 (またはテーマ) をプログラムで更新し、拡張機能の新しいバージョンをアップロードして公開するプロセスを自動化します。 これらの REST API エンドポイントを継続的インテグレーション/継続的デリバリー (CI/CD) パイプラインに直接統合して、パートナー センターを使用せずに Microsoft Edge アドオンで拡張機能パッケージの更新プログラムを発行できます。
この REST API では、次のエンドポイントが公開されます。
これらのエンドポイントについては、以下で説明します。
この REST API を使用するには、まずパートナー センターの [API の発行] ページを使用して API を有効にします。
最初に新しい拡張機能を発行するには、パートナー センターを使用します。 拡張機能を更新するには、パートナー センターを手動で使用するか、プログラムでこの REST API を使用します。
提案とフィードバックを送信するには、 アドオン API に関する問題を入力します。
Update REST API のバージョン
2024 年 9 月 6 日の時点で、この Update REST API の v1.1 と v1 の両方がサポートされています。 v1 のサポートは 2024 年 12 月 31 日に終了します。
使用されるコンポーネント
v1.1 では API キーが使用されます。 パートナー センターの UI には API キーが用意されています。
REST エンドポイントでは、v1.1 に特定の要求ヘッダーが使用されます。
Update REST API の使用の概要
Update REST API を使用するには:
パートナー センターの開発者ダッシュボードで、API キーを使用する UI をオプトインします。次の [有効] ボタンをクリックして、新しいエクスペリエンスを有効にします。 詳細については、以下 の「パートナー センターで更新 REST API を有効にする」を参照してください。
クライアント ID と新しい API キーを書き留めます。
必要に応じて、認証ワークフローを更新します。
API キーの代わりにアクセス トークンを使用するこの REST API の v1 の使用から変更する場合など、API キーの変更によって影響を受ける可能性がある継続的インテグレーション/継続的デリバリー (CI/CD) パイプラインを再構成します。
REST エンドポイントを使用する場合は、要求ヘッダーで ClientID キーと API キーを指定します。 詳細については、以下 の「API エンドポイントの使用」を参照してください。
詳細は以下のとおりです。
用語
| 用語 | 定義 |
|---|---|
| operation | GET や POST などの REST 操作。 |
| 操作 ID | REST 操作の ID。 |
| package | Microsoft Edge 拡張機能のファイルを含む .zip パッケージ。 |
| 製品、 アドオン | Microsoft Edge アドオンで公開されている Microsoft Edge 拡張機能またはテーマ。 |
| 製品 ID | 下書きを発行する必要がある製品の製品 ID。 製品 ID は、パートナー センターの製品に関連付けられている 128 ビット GUID です。 例: d34f98f5-f9b7-42b1-bebb-98707202b21d。 |
| 提出 | パートナー センターで既存の製品に送信される更新プログラム。 製品に対するすべての更新は、状態が In Draft、 In Review、または In the Store (公開) のいずれであるかに関係なく、申請です。 |
パートナー センターで Update REST API を有効にする
Microsoft Edge アドオン API を使用するには、まず、次のように API 資格情報を作成して、Microsoft パートナー センターでプロジェクトの API を有効にする必要があります。
パートナー センターの開発者ダッシュボードで、Edge 拡張機能の発行に使用したアカウントにサインインします。
Microsoft Edge プログラムで、[API の発行] を選択します。
"新しいエクスペリエンスを有効にする" というメッセージの横にある [ 有効にする ] ボタンをクリックします。
上のスクリーンショットは、[有効] ボタンをクリックして v1.1 UI に切り替える前に、アクセス トークン URL とシークレットを含む v1 UI を示しています。
[ API の発行 ] ページで、[ API 資格情報の作成 ] ボタンをクリックします。 この手順が完了するまでに数分かかる場合があります。
クライアント ID と新しい API キーが自動的に生成されます。
これで API 資格情報が作成されました。API を有効または更新しました。 [ 発行 API] ページに次の項目が表示されるようになりました。
- クライアント ID。
-
API キー。
- 各 API キー の有効期限 日。
次のように書き留めます。
- クライアント ID。
- 新しい API キー。
REST エンドポイントを使用する場合は、要求ヘッダーでクライアント ID と API キーを使用します。
API エンドポイントの使用
Update REST API では、次のエンドポイントが公開されます。
これらのエンドポイントを以下に紹介します。
この Microsoft Edge アドオン Update REST API を使用するには、上記に従って次のものが必要です。
API は、エンドポイント ルート https://api.addons.microsoftedge.microsoft.comで使用できます。
次の REST API エンドポイントはありません。
- 新しい製品の作成。
- 説明など、製品のメタデータを更新する。
新しい製品を作成したり、製品のメタデータを更新したりするには、Microsoft パートナー センターを使用する必要があります。
既存の申請を更新するためのパッケージのアップロード
この REST API エンドポイントを使用して、アドオンのパッケージを更新します。 この API は、アドオン製品の既存の下書き申請を更新するパッケージをアップロードします。
Microsoft Edge アドオンでの拡張機能の更新については、「REST API リファレンス」の既存の申請を更新するためのパッケージのアップロードに関するページも参照してください。
エンドポイントの説明
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 は、更新する Microsoft Edge 拡張機能の製品 ID です。
製品 ID を取得するには:
パートナー センター開発者ダッシュボードにサインインします。
[Microsoft Edge>Overview] に移動します。
製品 ID が必要な拡張機能を選択します。
[ 拡張機能の概要] ページが開きます。 製品 ID がページに表示されます。 (製品 ID は、
microsoftedge/と/packagesの間のアドレス バーの URL にも GUID として表示されます)。[ 拡張機能 ID ] セクション (またはアドレス バーから) で、 製品 ID を選択してコピーします。
要求のサンプル
パッケージをアップロードして既存の申請を更新するには、コマンド プロンプトで次のように curl コマンドを使用します。
> 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
要求が成功し、更新プロセスが開始されると、Location ヘッダーを含む202 Accepted応答状態コードを受け取ります。 この場所ヘッダーには、更新操作の状態を確認するために必要な operationID が含まれています。
関連項目:
- Microsoft Edge アドオンで拡張機能を更新するために、REST API リファレンスで既存の申請を更新するパッケージをアップロードします。
パッケージのアップロードの状態を確認する
この API を使用して、パッケージのアップロードの状態をチェックします。
$operationID は、 既存の申請を更新するためのパッケージのアップロードまたは申請 の 発行から応答ヘッダーで返される操作 ID です。
Microsoft Edge アドオンで拡張機能を更新する場合は、「REST API リファレンスで発行状態を確認する」も参照してください。
エンドポイントの説明
Endpoint: /v1/products/$productID/submissions/draft/package/operations/$operationID
Type: GET
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID
要求のサンプル
パッケージのアップロードの状態をチェックするには、コマンド プロンプトで次のように curl コマンドを使用します。
> 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
関連項目:
- Microsoft Edge アドオンで拡張機能を更新するための REST API リファレンスでパッケージのアップロードの状態を確認します。
申請の発行
この API を使用して、 Microsoft Edge アドオンで製品の現在のドラフトを公開します。
Microsoft Edge アドオンで拡張機能を更新する場合は、「REST API リファレンスで製品ドラフト申請を発行する」も参照してください。
エンドポイントの説明
Endpoint: /v1/products/$productID/submissions
Type: POST
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID
Body content: Notes for certification, in JSON format
要求のサンプル
申請を発行するには、コマンド プロンプトで次のように curl コマンドを使用します。
> 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
要求が成功し、発行プロセスが開始されると、Location ヘッダーを含む202 Accepted応答状態コードが表示されます。 この場所ヘッダーには、発行操作の状態を確認するために必要な operationID が含まれています。
関連項目:
- Microsoft Edge アドオンで拡張機能を更新するために、REST API リファレンスで製品ドラフト申請を発行します。
発行状態の確認
発行操作の状態をチェックするには、この API を使用します。
$operationID は、 既存の申請を更新するためのパッケージのアップロードまたは申請 の 発行から応答ヘッダーで返される操作 ID です。
Microsoft Edge アドオンで拡張機能を更新する場合は、「REST API リファレンスで発行状態を確認する」も参照してください。
エンドポイントの説明
Endpoint: /v1/products/$productID/submissions/operations/$operationID
Type: GET
Header Parameters: Authorization: ApiKey $ApiKey; X-ClientID: $ClientID
要求のサンプル
発行状態をチェックするには、コマンド プロンプトで次のように curl コマンドを使用します。
> curl \
-H "Authorization: ApiKey $ApiKey" \
-H "X-ClientID: $ClientID" \
-X GET \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions/operations/$operationID
関連項目:
- Microsoft Edge アドオンで拡張機能を更新するには、REST API リファレンスの発行状態を確認します。
例: PowerShell スクリプトを使用してパブリケーションの状態を確認し、拡張機能を発行する
次のコードは、REST API を使用して拡張機能のパブリケーションの状態をチェックし、その拡張機能を発行する PowerShell スクリプトの例です。
このスクリプトを使用するには、スクリプトの上部にある $ClientID、 $ClientSecret、 $ProductID、 $FilePATH の値を入力します。
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
関連項目
- Microsoft Edge アドオンで拡張機能を更新するための REST API リファレンス - 拡張機能 を更新するための REST API。
- Microsoft Edge 拡張機能でサポートされている API - 拡張機能 を開発するための JavaScript API。
GitHub:
- Microsoft Edge Developer ドキュメント
edge-developerリポジトリの問題。
Microsoft ID プラットフォーム: