使用 Microsoft Edge 加载项 REST API

Microsoft Edge 加载项 API 提供一组 REST 终结点,用于以编程方式将更新发布到提交到 Microsoft Edge 加载项存储的加载项。 可以使用这些 REST 终结点自动执行将新版本的加载项上载和发布到 Microsoft Edge 加载项存储的过程。 你将使用合作伙伴中心的 “发布 API ”页来处理这些终结点。

若要提交建议和反馈,请输入 有关加载项 API 的问题

术语

Term 定义
operation REST 操作,例如 GET 或 PUT。
操作 ID REST 操作的 ID。
package 包含 .zip Microsoft Edge 加载项文件的包。
产品 Microsoft Edge 扩展或主题。 也称为 Microsoft Edge 加载项
产品 ID 需要发布草稿的产品的产品 ID。 产品 ID 是与合作伙伴中心的产品关联的 128 位 GUID。 例如:d34f98f5-f9b7-42b1-bebb-98707202b21d
提交 正在合作伙伴中心提交到现有产品的更新。 产品的每次更新都是提交,无论状态是 In DraftIn Review还是 In the Store 发布) (。

开始之前

若要使用 Microsoft Edge 加载项 API,需要在 Microsoft 合作伙伴中心为项目启用 API,方法是创建 API 凭据。 使用以下步骤创建 API 凭据。

  1. 访问 Microsoft 合作伙伴中心并登录到用于发布加载项的帐户。

  2. Microsoft Edge 程序下,选择“ 发布 API”。

  3. “发布 API ”页上,单击“ 创建 API 凭据 ”按钮。 此步骤可能需要几分钟才能完成。

    API 凭据现已创建;你已启用或续订 API。 “发布 API”页上现在会显示“客户端 ID”、“客户端密码”、“到期日期”和“访问令牌 URL”:

    单击“创建 API 凭据”后,合作伙伴中心的“发布 API”页,现在会显示客户端 ID、客户端密码和身份验证令牌 URL

  4. 记下 客户端 ID客户端密码访问令牌 URL。 在下一步中,你将使用这些值来获取访问令牌。

重要

现在请务必记下客户端密码,因为它仅在启用或续订 API ((即创建 API 凭据) 之后)后立即可见。 不会再次显示此特定机密。

可以为客户端 ID 生成多个客户端密码。 例如,可以为多个项目创建多个机密。

检索访问令牌

获取应用程序所需的授权后,获取 API 的访问令牌。 若要使用客户端凭据授予获取令牌,请将 POST 请求发送到访问令牌 URL (OAuth 令牌) 。 租户信息可在上面 “开始前” 步骤中收到的 URL 中提供。

Endpoint: https://login.microsoftonline.com/5c9eedce-81bc-42f3-8823-48ba6258b391/oauth2/v2.0/token
Type: POST
Header Parameters: Content-Type: application/x-www-form-urlencoded

示例请求

> curl \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id={$Client_ID}" \
-d "scope=https://api.addons.microsoftedge.microsoft.com/.default" \
-d "client_secret={$Client_Secret}" \
-d "grant_type=client_credentials" \
-v \
https://login.microsoftonline.com/5c9eedce-81bc-42f3-8823-48ba6258b391/oauth2/v2.0/token

示例响应

{
  "token_type": "Bearer",
  "expires_in": 3599,
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBP..."
}

有关详细信息,请参阅Microsoft 标识平台上的 OAuth 2.0 客户端凭据流

使用 API 终结点

获得访问令牌后,可以使用 Microsoft Edge 加载项 API。 此 API 公开用于获取产品列表、更新产品和发布产品的终结点。

注意

没有用于创建新产品或更新产品元数据的 API。 例如,说明。 必须在 Microsoft 合作伙伴中心手动完成这些任务。

API 在终结点上可用 https://api.addons.microsoftedge.microsoft.com

上传包以更新现有提交

使用此 API 更新加载项的包。 此 API 上传包以更新加载项产品的现有草稿提交。

Endpoint: /v1/products/$productID/submissions/draft/package
Type: POST
Header Parameters: Authorization: Bearer $TOKEN; Content-Type: application/zip
Body content: the package file to upload

$productID 是要更新的 Microsoft Edge 加载项的产品 ID。

按照以下步骤获取产品 ID:

  1. 登录到 Microsoft 合作伙伴中心。

  2. 转到 Microsoft Edge>概述

  3. 选择要为其提供产品 ID 的扩展。

    此时会打开 “扩展概述 ”页。 产品 ID 显示在页面中。 (产品 ID 也显示为地址栏中的 URL 中的 GUID,介于 和 /packages之间 microsoftedge/ )

  4. 在“ 扩展标识 ”部分 (或从地址栏) ,选择并复制 “产品 ID”。

示例请求

> curl \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/zip" \
-X POST \
-T $FILE_NAME \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions/draft/package

如果请求成功且更新过程开始,则会收到带有 202 Accepted 标头的 Location 响应状态代码。 此位置标头包含 operationID 检查更新操作状态所需的 。

另请参阅:

检查包上传的状态

使用此 API 检查包上传的状态。

Endpoint: /v1/products/$productID/submissions/draft/package/operations/$operationID
Type: GET
Header Parameters: Authorization: Bearer $TOKEN

示例请求

> curl \
-H "Authorization: Bearer $TOKEN" \
-X GET \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions/draft/package/operations/$operationID

另请参阅:

发布提交

使用此 API 将产品的当前草稿发布到 Microsoft Edge 加载项网站。

Endpoint: /v1/products/$productID/submissions
Type: POST
Header Parameters: Authorization: Bearer $TOKEN
Body content: Notes for certification, in JSON format

示例请求

> curl \
-H "Authorization: Bearer $TOKEN" \
-X POST \
-d '{ "notes"="text value" }' \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions

如果请求成功且发布过程开始,则会收到带有202 AcceptedLocation标头的响应状态代码。 此位置标头包含 operationID 检查发布操作状态所需的 。

另请参阅:

检查发布状态

使用此 API 检查发布操作的状态。

Endpoint: /v1/products/$productID/submissions/operations/$operationID
Type: GET
Header Parameters: Authorization: Bearer $TOKEN

示例请求

> curl \
-H "Authorization: Bearer $TOKEN" \
-X GET \
-v \
https://api.addons.microsoftedge.microsoft.com/v1/products/$productID/submissions/operations/{operationID}

另请参阅: