> ## Documentation Index
> Fetch the complete documentation index at: https://extension.js.org/llms.txt
> Use this file to discover all available pages before exploring further.

# 获取你的 Edge Add-ons 凭据

> 注册 Partner Center，用第一次手动提交创建产品，然后复制自动化 Edge 提交所需的 Publish API 客户端 ID、API key 与 Product ID。

自动化的 Microsoft Edge Add-ons 提交需要一对凭据和一个标识符：

| 值          | 它长什么样                                                | 从哪里来                            |
| ---------- | ---------------------------------------------------- | ------------------------------- |
| 客户端 ID     | 一个 GUID，例如 `43e71dc6-289e-4042-8965-e130ee9a2524`    | Partner Center 的 Publish API 页面 |
| API key    | 一个很长的不透明字符串，只显示一次                                    | 在同一个页面上生成                       |
| Product ID | 一个小写的 GUID，例如 `c232d32f-19e3-4dee-974b-2e62848595ab` | 产品的 Extension Identity 区块       |

Edge Publish API 使用的是当前这套 API key 模型：请求直接用 API key 和客户端 ID 做身份认证，不涉及任何 Azure Active Directory 应用注册。如果某份旧文档带着你去做 Azure AD，那它描述的是已经退役的模型。

## 前置条件

<Warning>
  Edge Publish API 没有创建产品的端点，而自动化提交又始终需要 Product
  ID。请先在 Partner Center 里手动完成第一次提交，把产品创建出来。从第二次提交起，自动化才能接手。
</Warning>

1. 在 [Partner Center](https://partner.microsoft.com/dashboard/microsoftedge/overview)
   上注册 Microsoft Edge 计划。Edge 计划的注册不收费。
2. 构建一个商店用的 zip（`npx extension build --browser edge --zip`）。
3. 在 Partner Center 中新建一个扩展，并手动提交那个 zip。
4. 产品存在之后，再去收集下面这三个值。

## 获取 Product ID

1. 打开 [Partner Center](https://partner.microsoft.com/dashboard/microsoftedge/overview)，
   在概览页面上选择你的扩展。
2. 滚动到 **Extension Identity** 区块。
3. 复制 **Product ID**，它是一个小写的 GUID。

<Note>
  Product ID 不是 Store ID。Store ID 是你公开商店页面 URL
  里那串大写的字母数字值，例如 `0RDCK9HT9JJ7`。API 要的是那个 GUID，小写并带连字符。
</Note>

## 获取客户端 ID 与 API key

1. 在 Partner Center 中打开
   [Publish API 页面](https://partner.microsoft.com/dashboard/microsoftedge/publishapi)。
2. 如果你的账号还没有启用这个 API，选择 **Turn on API**。
3. 复制页面上显示的 **Client ID**。
4. 选择 **+ New API key**，并立即复制生成出来的 key。

<Warning>
  API key 只显示一次，而且大约每 72 天就会过期。请记下 Expiry
  列里的值，并在旧 key 失效之前生成新的 key，否则定时提交会开始因授权错误而失败。
</Warning>

## 影响范围与轮换

<Warning>
  客户端 ID 与 API key 是账号级别的，它们可以向该 Partner Center
  账号下的每一个产品提交。如果你为多个客户维护扩展，请把每个客户的产品放在该客户自己的 Partner Center 注册账号下。
</Warning>

要轮换，请在 Publish API 页面上生成一个新的 API key，并在所有保存它的地方重新填入。

## 名称对照

每个值对应的环境变量：

| 值          | 环境变量              |
| ---------- | ----------------- |
| 客户端 ID     | `EDGE_CLIENT_ID`  |
| API key    | `EDGE_API_KEY`    |
| Product ID | `EDGE_PRODUCT_ID` |
