更新Microsoft Store識別碼密鑰
使用這個方法來更新 Microsoft Store 金鑰。 當您 產生Microsoft市集標識符金鑰時,金鑰的有效期限為 30 天。 金鑰到期之前,您可以使用此方法重新談判新的金鑰。
Microsoft.StoreServices 函式庫 透過 UserStoreId.RefreshStoreId API 提供此方法的功能。
注意
先前Microsoft市集密鑰的存留期較長,在某些情況下,密鑰已過期之後就能夠更新。 現在,開發人員應該只預期密鑰在存留期內會更新,而且應該記下密鑰的到期日,以便在密鑰到期之前更新金鑰。
重要
雖然Microsoft市集密鑰可以在到期前更新,但密鑰可能會在到期日之前撤銷,以因應安全性考慮。 因此,您的服務應該處理試圖更新因 "AuthenticationTokenInvalid" 而失敗的情況。 在此情況下,您應該在用戶端為使用者生成新的 Microsoft Store 金鑰,或採用生成原始 Microsoft Store 金鑰的方法。
先決條件
若要使用此方法,您將需要:
- 具有物件 URI 值
https://onestore.microsoft.com/.default
的 Entra ID 存取令牌。 - 過期的Microsoft市集識別碼金鑰 ,由您的應用程式中的用戶端程式代碼生成。
如需詳細資訊,請參閱 從服務中管理產品使用權。
請求
要求語法
鍵類型 | 方法 | 要求 URI |
---|---|---|
收集 | 發佈 | https://collections.mp.microsoft.com/v6.0/b2b/keys/renew |
購買 | 發佈 | https://purchase.mp.microsoft.com/v6.0/b2b/keys/renew |
請求標頭
頁眉 | 類型 | 描述 |
---|---|---|
主機 | 字串 | 必須設定為 值 collections.mp.microsoft.com 或 purchase.mp.microsoft.com。 |
內容長度 | 數字 | 請求正文的長度。 |
Content-Type | 字串 | 指定要求和回應類型。 目前,唯一支援的值是 application/json。 |
請求主體
參數 | 類型 | 描述 | 必填 |
---|---|---|---|
serviceTicket | 字串 | Entra ID 存取令牌。 | 是的 |
鑰匙 | 字串 | 過期的 Microsoft 商店識別碼金鑰。 | 是的 |
要求範例
POST https://collections.mp.microsoft.com/v6.0/b2b/keys/renew HTTP/1.1
Content-Length: 2774
Content-Type: application/json
Host: collections.mp.microsoft.com
{
"serviceTicket": "eyJ0eXAiOiJKV1QiLCJhb….",
"Key": "eyJ0eXAiOiJKV1QiLCJhbG…."
}
回應
回應正文
參數 | 類型 | 描述 |
---|---|---|
鑰匙 | 字串 | 重新整理的Microsoft市集密鑰,可在日後呼叫 Microsoft 市集集合 API 或購買 API 時使用。 |
回應範例
HTTP/1.1 200 OK
Content-Length: 1646
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1b5fa630-d672-4971-b2c0-3713f4ea6c85
MS-CV: xu2HW6SrSkyfHyFh.0.0
MS-ServerId: 030011428
Date: Tue, 13 Sep 2015 07:31:12 GMT
{
"key":"eyJ0eXAi….."
}
錯誤碼
程式碼 | 錯誤 | 內部錯誤碼 | 描述 |
---|---|---|---|
401 | 未經授權 | 驗證令牌無效 | 正在更新的 Entra ID 存取令牌或 Microsoft 存放區密鑰無效。 在某些情況下,ServiceError 的詳細資訊會提供更多信息,例如當令牌過期或缺少 appid 宣告時。 |
401 | 未經授權 | 不一致的客戶端識別碼 | Microsoft Store ID 密鑰中的 clientId 聲明以及 Entra ID 存取權杖中的 appid 聲明不匹配。 |