建立和管理提交項目
使用 Microsoft 市集提交 API,以程式設計方式查詢和建立應用程式、附加元件和套件飛行版的提交,供您或貴組織的合作夥伴中心帳戶使用。 如果您的帳戶管理許多應用程式或附加元件,而且您想要將這些資產的提交程式自動化並優化,此 API 會很有用。 此 API 會使用 Azure Active Directory (Azure AD) 來驗證來自您的應用程式或服務的呼叫。
下列步驟說明使用 Microsoft 商店提交 API 的完整流程:
- 請確定您已完成所有 的必要條件。
- 在 Microsoft Store 提交 API 中呼叫方法之前,取得 Azure AD 存取令牌。 取得令牌之後,您有 60 分鐘的時間才能在令牌到期之前,於呼叫 Microsoft 市集提交 API 時使用此令牌。 令牌到期之後,您可以產生新的令牌。
- 呼叫 Microsoft 市集提交 API。
重要
如果您使用此 API 為應用程式、套件試運行或附加元件建立提交,請務必僅使用 API 來進行進一步變更,而不是在合作夥伴中心進行。 如果您使用合作夥伴中心來變更您最初使用 API 建立的提交,您將無法再使用 API 變更或認可該提交。 在某些情況下,提交可能會處於錯誤狀態,而無法繼續提交流程。 如果發生這種情況,您必須刪除提交並建立新的提交。
重要
您無法使用此 API 透過商務用 Microsoft市集和 教育用Microsoft市集發佈大量購買的提交,或將 LOB 應用程式的提交直接發佈至企業。 在這兩個情況下,您必須在合作夥伴中心發佈提交。
注意
此 API 無法與使用強制應用程式更新和市集管理的消費性附加元件的應用程式或附加元件搭配使用。 如果您使用Microsoft市集提交 API 搭配使用其中一項功能的應用程式或附加元件,API 會傳回 409 錯誤碼。 在此情況下,您必須使用合作夥伴中心來管理應用程式或附加元件提交。
注意
您無法將此 API 與定價第 2 版的應用程式或附加元件搭配使用。 如果在 定價和可用性 頁面的 [定價] 區段中出現 [各市場價格檢閱] 按鈕,則該產品使用定價第 2 版。 如果您使用 Microsoft Store 提交 API 搭配第 2 版定價的應用程式或附加元件,則 API 會傳回定價部分的未知等級。 您可以繼續使用此 API 來更新 定價和可用性以外的模組。
步驟 1:完成使用 Microsoft 市集提交 API 的必要條件
開始撰寫程式代碼以呼叫 Microsoft 市集提交 API 之前,請確定您已完成下列必要條件。
您(或您的組織)必須有 Azure AD 目錄,而且您必須擁有目錄 全域管理員 許可權。 如果您已經從 Microsoft 使用 Microsoft 365 或其他商務服務,則您已有 Azure AD 目錄。 否則,您可以 在合作夥伴中心 建立新的 Azure AD,無需額外費用。
您必須 將 Azure AD 應用程式與您的合作夥伴中心帳戶連結,並取得您的租戶識別碼、用戶端識別碼和密鑰。 您需要這些值來取得 Azure AD 存取令牌,您將用於呼叫 Microsoft 市集提交 API。
準備您的應用程式以搭配 Microsoft 市集提交 API 使用:
如果您的應用程式還不存在於合作夥伴中心,您必須在合作夥伴中心 保留其名稱,以建立您的應用程式。 您無法使用 Microsoft 市集提交 API 在合作夥伴中心建立應用程式;您必須在合作夥伴中心工作才能建立它,然後之後,您就可以使用 API 來存取應用程式,並以程式設計方式建立應用程式的提交。 不過,您可以使用 API 以程式設計方式建立附加元件並包裝飛航,然後再為其建立提交。
您必須先 在合作夥伴中心建立應用程式的提交,包括回答 年齡分級 問卷,才能建立指定應用程式的提交。 執行此動作之後,您將能夠使用 API 以程式設計方式建立此應用程式的新提交。 您不需要先建立附加元件提交或套件飛行提交,即可針對這些類型的提交使用 API。
如果您要建立或更新應用程式提交,而且需要包含應用程式套件,準備應用程式套件。
如果您要建立或更新應用程式提交,而且需要包含用於商店列表的螢幕快照或圖像,準備應用程式螢幕快照和圖像。
如果您要建立或更新附加元件提交,而且需要包含圖示,準備圖示。
如何將 Azure AD 應用程式與您的合作夥伴中心帳戶產生關聯
您必須先建立 Azure AD 應用程式與合作夥伴中心帳戶的關聯、擷取應用程式的租使用者標識碼和用戶端識別碼,並產生密鑰,才能使用 Microsoft 市集提交 API。 Azure AD 應用程式代表您想要從中呼叫Microsoft市集提交 API 的應用程式或服務。 您需要租戶 ID、用戶端 ID 和密鑰,才能取得可以傳遞至 API 的 Azure AD 存取權杖。
注意
您只需要執行此工作一次。 擁有租使用者標識碼、用戶端標識碼和密鑰之後,您隨時都可以重複使用這些標識碼,以建立新的 Azure AD 存取令牌。
在合作夥伴中心,將組織的合作夥伴中心帳戶與組織的 Azure AD 目錄建立關聯。
接下來,從合作夥伴中心 帳戶設定 區段中的 [使用者] 頁面,新增 Azure AD 應用程式,代表您將用來存取合作夥伴中心帳戶提交的應用程式或服務。 請確定您將 管理員 角色指派給此應用程式。 如果應用程式還不存在於 Azure AD 目錄中,您可以在合作夥伴中心 中建立新的 Azure AD 應用程式。
返回 [使用者] 頁面,按兩下 Azure AD 應用程式的名稱以移至應用程式設定,然後複製 租使用者標識碼,並 用戶端識別碼 值。
點選 新增金鑰。 在下列畫面上,複製 密鑰 值。 離開此頁面之後,您將無法再次存取此資訊。 如需詳細資訊,請參閱 管理 Azure AD 應用程式的金鑰。
步驟 2:取得 Azure AD 存取令牌
在呼叫 Microsoft Store 提交 API 中的任何方法之前,您必須先取得 Azure AD 存取權杖,並將其傳遞到每個 API 方法的 授權 標頭中。 取得存取令牌之後,您有 60 分鐘的時間可以使用它,然後它就會失效。 令牌到期之後,您可以重新整理令牌,以便在 API 的進一步呼叫中繼續使用令牌。
若要取得存取令牌,請遵循使用用戶端認證 服務對服務呼叫中的指示,將 HTTP POST 傳送至 https://login.microsoftonline.com/<tenant_id>/oauth2/token
端點。 以下是範例要求。
POST https://login.microsoftonline.com/<tenant_id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
grant_type=client_credentials
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&resource=https://manage.devcenter.microsoft.com
針對 POST URI 中的 tenant_id 值,以及 client_id 和 client_secret 參數,請指定您在上一節從合作夥伴中心擷取的應用程式租用戶識別碼、用戶端識別碼和金鑰。 針對 資源 參數,您必須指定 https://manage.devcenter.microsoft.com
。
存取令牌到期之後,您可以再次進行相同的 HTTP 呼叫來擷取新的令牌。
如需示範如何使用 C#、Java 或 Python 程式代碼取得存取令牌的範例,請參閱 Microsoft 市集提交 API 程式代碼範例。
步驟 3:使用 Microsoft 市集提交 API
擁有 Azure AD 存取令牌之後,您可以在 Microsoft 市集提交 API 中呼叫方法。 API 包含許多方法,這些方法會被分組為應用程式、附加元件和套件飛行的案例。 若要建立或更新提交,您通常會依特定順序呼叫Microsoft市集提交 API 中的多個方法。 如需每個案例和每個方法語法的相關信息,請參閱下表中的文章。
注意
取得存取令牌之後,您有 60 分鐘的時間在令牌到期之前,在 Microsoft 市集提交 API 中呼叫方法。
場景 | 描述 |
---|---|
應用程式 | 擷取您在合作夥伴中心帳戶中註冊的所有應用程式相關數據,並為應用程式建立提交資料。 如需這些方法的詳細資訊,請參閱下列文章: |
附加元件 | 取得、建立或刪除應用程式的附加元件,然後對這些附加元件進行取得、建立或刪除提交項目。 如需這些方法的詳細資訊,請參閱下列文章: |
套裝航班 | 取得、建立或刪除您應用程式的套件飛行,然後取得、建立或刪除這些套件飛行的提交。 如需這些方法的詳細資訊,請參閱下列文章: |
程式代碼範例
下列文章提供詳細的程式代碼範例,示範如何使用數種不同的程式設計語言Microsoft市集提交 API:
- C# 範例:應用程式、附加元件和測試版本的提交
- C# 範例:包含遊戲選項和預告片的應用程式提交
- Java 範例:應用、附加元件和航班的提交
- Java 範例:包含遊戲選項和預告片的應用程式提交
- Python 範例:應用程式、附加元件和測試版提交
- Python 範例:包含遊戲選項和預告片的應用程式提交
StoreBroker PowerShell 模組
除了直接呼叫 Microsoft 市集提交 API,我們也提供開放原始碼 PowerShell 模組,以在 API 之上實作命令行介面。 此模組稱為 StoreBroker。 您可以使用此模組從命令行管理應用程式、測試版和附加提交,而不是直接呼叫 Microsoft 市集提交 API,或者您可以直接瀏覽來源以查看更多有關如何呼叫此 API 的範例。 StoreBroker 模組會在 Microsoft 內主動使用,作為許多第一方應用程式提交至市集的主要方式。
如需詳細資訊,請參閱 GitHub 上的 StoreBroker 頁面。
故障排除
問題 | 解析度 |
---|---|
在從 PowerShell 呼叫 Microsoft Store 提交 API 之後,如果您使用 `ConvertFrom-Json` Cmdlet 將 API 的回應資料從 JSON 格式轉換為 PowerShell 物件,然後再使用 `ConvertTo-Json` Cmdlet 轉回 JSON 格式,API 的回應資料將會被損壞。 | 根據預設,ConvertTo-Json Cmdlet 的 -Depth 參數會設定為 2 個層級的對象,對於Microsoft市集提交 API 所傳回的大部分 JSON 物件而言,這太淺。 當您呼叫 ConvertTo-Json Cmdlet 時,請將 -Depth 參數設定為較大的數位,例如 20。 |
額外協助
如果您有關於 Microsoft 市集提交 API 的問題,或需要使用此 API 管理提交方面的協助,請使用下列資源: