更新 Microsoft Edge 附加元件的 REST API 參考
本文是 Microsoft Edge 附加元件 API 的 REST 端點參考。 此 API 會將已提交至 Microsoft Edge 附加元件存放區的更新自動發佈至附加元件。
如需概觀,請 參閱使用 REST API 來更新Microsoft Edge 附加元件。
更新 REST API 的版本
自 2024 年 9 月 6 日起,支援此更新 REST API 的 v1.1 和 v1。 v1 的支援將於 2024 年 12 月 31 日終止。
上傳套件以更新現有的提交
上傳套件以更新附加元件產品的現有草稿提交。
另請參閱使用 REST API 更新 edge 附加元件Microsoft更新現有提交中的上傳套件。
請求
方法 | 要求 URI |
---|---|
POST |
/products/$productID/submissions/draft/package |
URI 參數
URI 參數 | 描述 |
---|---|
$productID |
此為必要動作。 必須上傳套件之產品的產品標識碼。 |
要求標頭
需要下列要求標頭:
要求內文
<Zip package>
回應
回應標頭
- 位置:
{operationID}
回應包含要傳送至其他端點的作業標識碼。
狀態碼
此 API 具有下列預期狀態代碼。
HTTP 狀態代碼 | 描述 |
---|---|
202 | 要求已接受進行處理,但處理尚未完成。 |
4XX | 請參閱下面 的錯誤碼。 |
5XX | 請參閱下面 的錯誤碼。 |
另請參閱:
- 上傳套件以更新 使用 REST API 來更新Microsoft Edge 附加元件中的現有提交。
檢查套件上傳的狀態
取得封裝上傳的狀態。
另請參閱使用 REST API 更新Microsoft Edge 附加元件中的檢查套件上傳的狀態。
請求
方法 | 要求 URI |
---|---|
GET |
/products/$productID/submissions/draft/package/operations/$operationID |
URI 參數
URI 參數 | 描述 |
---|---|
$operationID |
此為必要動作。 上一個步驟中所提交上傳要求的作業標識碼。 此資訊可在回應標頭中取得。 |
要求標頭
需要下列要求標頭:
要求內文
無。
回應
針對不同的案例,有數個回應。
當作業仍在進行時回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": "Date Time",
"status": "InProgress",
"message": null,
"errorCode": null,
"errors": null
}
作業成功時的回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": "Date Time",
"status": "Succeeded",
"message": "Successfully updated package to {fileName}.zip",
"errorCode": "",
"errors": null
}
當作業失敗併發生錯誤時回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": "Date Time",
"status": "Failed",
"message": "Error Message.",
"errorCode": "Error Code",
"errors": ["list of errors"]
}
回應標頭
無。
狀態碼
此 API 具有下列預期狀態代碼。
HTTP 狀態代碼 | 描述 |
---|---|
200 | 要求為 [確定]。 |
4XX | 請參閱下面 的錯誤碼。 |
5XX | 請參閱下面 的錯誤碼。 |
另請參閱:
- 在使用 REST API 更新Microsoft Edge 附加元件中檢查套件上傳的狀態。
發佈產品草稿提交
將產品目前的草稿發佈至 Microsoft Edge 附加元件。
另請參閱使用 REST API 更新Microsoft Edge 附加元件中的發佈提交。
請求
方法 | 要求 URI |
---|---|
POST |
/products/$productID/submissions |
URI 參數
URI 參數 | 描述 |
---|---|
$productID |
此為必要動作。 必須發佈草稿之產品的產品標識碼。 |
要求標頭
需要下列要求標頭:
要求內文
<Notes for certification>
,純文字格式。
回應
回應標頭
- 位置:
{operationID}
回應包含要傳送至其他端點的作業標識碼。
狀態碼
此 API 具有下列預期狀態代碼。
HTTP 狀態代碼 | 描述 |
---|---|
202 | 要求已接受進行處理,但處理尚未完成。 |
4XX | 請參閱下面 的錯誤碼。 |
5XX | 請參閱下面 的錯誤碼。 |
另請參閱:
- 在使用 REST API 更新 Edge 附加元件Microsoft中發佈提交。
檢查發佈狀態
檢查發佈作業的狀態。
另請參閱使用 REST API 更新Microsoft Edge 附加元件中的檢查發佈狀態。
請求
方法 | 要求 URI |
---|---|
GET |
/products/$productID/submissions/operations/$operationID |
URI 參數
無。
要求標頭
需要下列要求標頭:
要求內文
無。
回應
在 GET
下列案例中,可以呼叫作業狀態 API。 在所有有效案例中, 200 OK
會傳回,並具有不同的狀態消息。
回應包含要傳送至其他端點的作業標識碼。
發行新產品時的回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": " Date Time ",
"status": "Failed",
"message": "Can't create new extension.",
"errorCode": "CreateNotAllowed",
"errors": null
}
沒有新內容可發佈時的回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": " Date Time ",
"status": "Failed",
"message": "Can't publish extension since there are no updates, please try again after updating the package.",
"errorCode": "NoModulesUpdated",
"errors": null
}
有相同產品的檢閱中提交時的回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": " Date Time ",
"status": "Failed",
"message": "Can't publish extension as your extension submission is in progress. Please try again later.",
"errorCode": "InProgressSubmission",
"errors": null
}
針對相同產品進行中未發佈的提交時回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": " Date Time ",
"status": "Failed",
"message": "Can't publish extension as your extension is being unpublished. Please try after you've unpublished.",
"errorCode": "UnpublishInProgress",
"errors": null
}
任何模組無效的回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": " Date Time ",
"status": "Failed",
"message": "Can't publish extension as your extension has modules that are not valid. Fix the modules with errors and try to publish again.",
"errorCode": "ModuleStateUnPublishable",
"errors": [
{
"message": "Invalid module : <Modules>"
}
]
}
提交中發生驗證錯誤時的回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": " Date Time ",
"status": "Failed",
"message": "Extension can't be published as there are submission validation failures. Fix these errors and try again later.",
"errorCode": "SubmissionValidationError",
"errors": ["{list of errors}"]
}
發佈呼叫成功時回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": "Date Time",
"status": "Succeeded",
"message": "Successfully created submission with ID {submission.Id}",
"errorCode": "",
"errors": null
}
當發佈呼叫因無法復原失敗而失敗時回應
{
"id": "{operationID}",
"createdTime": "Date Time",
"lastUpdatedTime": " Date Time ",
"status": "Failed",
"message": "An error occurred while performing the operation",
"errorCode": null,
"errors": null
}
當發佈呼叫因非預期失敗而失敗時回應
{
"id": "{operationID}",
"message": "An error occurred while processing the request. Please contact support Correlation ID: {operationID} Timestamp: {timeStamp}",
}
回應標頭
無。
狀態碼
此 API 具有下列預期狀態代碼。
HTTP 狀態代碼 | 描述 |
---|---|
200 | 要求為 [確定]。 |
4XX | 請參閱下面 的錯誤碼。 |
5XX | 請參閱下面 的錯誤碼。 |
另請參閱:
- 檢查使用 REST API 更新 edge 附加元件中的發佈狀態Microsoft。
錯誤碼
以下是常見錯誤碼和可能原因的清單。 如需完整清單,請參閱 合作夥伴中心 REST 錯誤碼 或 HTTP 狀態代碼清單。
4xx:客戶端錯誤
郵件 | 描述 | 案例範例 |
---|---|---|
400 不正確的要求 | 伺服器不瞭解要求。 | 本文中沒有封裝 (zip 檔案) 。 或者, Content-Type 標頭遺失或其值不正確。 |
401 未經授權 | 要求頁面需要授權。 | 驗證令牌遺失、過期或無效。 |
404 找不到 | 伺服器找不到要求的頁面。 | 指定的產品標識碼或作業標識碼沒有有效的 GUID、無效,或不屬於提出要求的開發人員。 |
408 要求逾時 | 要求所花費的時間超過伺服器準備等候的時間。 | 上傳套件時發生逾時。 |
429 太多要求 | 用戶傳送了太多要求。 | 傳送了太多要求,並已進行節流。 |
5xx:伺服器錯誤
郵件 | 描述 | 案例範例 |
---|---|---|
500 內部伺服器錯誤 | 要求未完成。 | 伺服器符合非預期的情況。 |