> ## 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` |
