建立及管理提交

使用 Microsoft Store 提交 API 以程式設計方式為您或貴組織合作夥伴中心帳戶查詢和建立應用程式、附加元件和套件發行小眾測試版的提交。 如果您的帳戶管理許多應用程式或附加元件,而且您想要將這些資產的提交程序自動化並最佳化,則此 API 很有用。 此 API 使用 Azure Active Directory (Azure AD) 來驗證來自您的應用程式或服務的呼叫。

下列步驟說明使用 Microsoft Store 提交 API 的端對端程序:

  1. 請確定您已完成所有必要條件
  2. 在 Microsoft Store 提交 API 中呼叫方法之前,請先取得 Azure AD 存取權杖。 取得權杖之後,您有 60 分鐘的時間使用此權杖來呼叫 Microsoft Store 提交 API,之後權杖才會到期。 權杖過期後,您可以產生新的權杖。
  3. 呼叫 Microsoft Store 提交 API

重要

如果您使用此 API 為應用程式、套件發行小眾測試版或附加元件建立提交,請務必只使用 API 而不是在合作夥伴中心對提交進行進一步變更。 如果您使用合作夥伴中心來變更您最初使用 API 建立的提交,您將無法再使用 API 變更或認可該提交。 在某些情況下,提交可能會處於錯誤狀態,而無法在提交程序中繼續。 如果發生這種情況,您必須刪除提交並建立新的提交。

重要

您無法使用此 API 針對透過商務用 Microsoft Store 和教育用 Microsoft Store 的大量購買發佈提交,或將 LOB 應用程式的提交直接發佈至企業。 在這兩個案例中,您必須在合作夥伴中心使用發佈提交。

注意

此 API 無法與使用強制應用程式更新和市集管理的消耗性附加元件的應用程式或附加元件搭配使用。 如果您將 Microsoft Store 提交 API 與使用其中一項功能的應用程式或附加元件搭配使用,API 會傳回 409 錯誤碼。 在此情況下,您必須使用合作夥伴中心來管理應用程式或附加元件提交。

步驟 1:完成使用 Microsoft Store 提交 API 的必要條件

開始撰寫程式碼以呼叫 Microsoft Store 提交 API 之前,請確定您已完成下列必要條件。

  • 您 (或貴組織) 必須擁有 Azure AD 目錄,而且您必須具有該目錄的全域管理員權限。 如果您已經使用 Microsoft 365 或 Microsoft 的其他商務服務,則您已有 Azure AD 目錄。 否則,您可以在合作夥伴中心建立新的 Azure AD,無需額外付費。

  • 您必須將 Azure AD 應用程式與您的合作夥伴中心帳戶建立關聯,並取得您的租用戶識別碼、用戶端識別碼和金鑰。 您需要這些值來取得 Azure AD 存取權杖,用於呼叫 Microsoft Store 提交 API。

  • 準備您的應用程式以搭配 Microsoft Store 提交 API 使用:

    • 如果您的應用程式尚不存在於合作夥伴中心,您必須在合作夥伴中心透過保留應用程式名稱來建立您的應用程式。 您無法使用 Microsoft Store 提交 API 在合作夥伴中心建立應用程式;您必須在合作夥伴中心工作才能建立它,在這之後,您就可以使用 API 來存取應用程式,並以程式設計方式建立應用程式的提交。 不過,您可以使用 API 以程式設計方式建立附加元件和套件發行小眾測試版,再為其建立提交。

    • 您必須先在合作夥伴中心為應用程式建立一個提交,包括回答年齡分級問卷,才能使用此 API 為指定的應用程式建立提交。 執行此動作之後,您將能夠使用 API 以程式設計方式建立此應用程式的新提交。 針對這些類型的提交使用 API 之前,您不需要先建立附加元件提交或套件發行小眾測試版提交。

    • 如果您要建立或更新應用程式提交,而且需要包含應用程式套件,請準備應用程式套件

    • 如果您要建立或更新應用程式提交,而且您需要包含市集清單的螢幕擷取畫面或影像,請準備應用程式螢幕擷取畫面和影像

    • 如果您要建立或更新附加元件提交,而且您需要包含圖示,請準備圖示

如何將 Azure AD 應用程式與合作夥伴中心帳戶相關聯

您必須先將 Azure AD 應用程式與合作夥伴中心帳戶建立關聯,擷取應用程式的租用戶識別碼和用戶端識別碼,並產生金鑰後,才能使用 Microsoft Store 提交 API。 Azure AD 應用程式代表您想要從中呼叫 Microsoft Store 提交 API 的應用程式或服務。 您需要租用戶識別碼、用戶端識別碼和金鑰,才能取得傳遞至 API 的 Azure AD 存取全權杖。

注意

您只需要執行此工作一次。 擁有租用戶識別碼、用戶端識別碼和金鑰之後,您可以隨時重複使用,以建立新的 Azure AD 存取權限。

  1. 在合作夥伴中心中,將組織的合作夥伴中心帳戶與組織的 Azure AD 目錄建立關聯

  2. 接下來,從合作夥伴中心的 [帳戶設定] 區段中的 [使用者] 頁面,新增 Azure AD 應用程式,代表您要用來存取合作夥伴中心帳戶提交的應用程式或服務。 請確定為此應用程式指派管理員角色。 如果應用程式尚不存在於 Azure AD 目錄中,您可以在合作夥伴中心建立新的 Azure AD 應用程式

  3. 返回 [使用者] 頁面,按一下 Azure AD 應用程式的名稱以移至應用程式設定,然後複製 [租用戶識別碼] 和 [用戶端識別碼] 值。

  4. 按一下 [新增金鑰]。 在後續的畫面上,複製 [金鑰] 值。 離開此頁面之後,您將無法再次存取此資訊。 如需詳細資訊,請參閱管理 Azure AD 應用程式的金鑰

步驟 2:取得 Azure AD 存取權杖

在呼叫 Microsoft Store 提交 API 中的任何方法之前,您必須先取得傳遞至 API 中每個方法的授權標頭的 Azure AD 存取權杖。 取得存取權杖之後,您在其到期之前有 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 參數,請在上一節中指定您從合作夥伴中心擷取的應用程式租用戶識別碼、用戶端識別碼和金鑰。 針對 resource 參數,您必須指定 https://manage.devcenter.microsoft.com

存取權杖到期之後,您可以再次進行相同的 HTTP 呼叫來擷取新的權杖。

如需示範如何使用 C#、Java 或 Python 程式碼取得存取權杖的範例,請參閱 Microsoft Store 提交 API 程式碼範例

步驟 3:使用 Microsoft Store 提交 API

擁有 Azure AD 存取權杖之後,您可以在 Microsoft Store 提交 API 中呼叫方法。 API 包含許多方法,這些方法會分組成應用程式、附加元件和套件發行小眾測試版的案例。 若要建立或更新提交,您通常會以特定順序呼叫 Microsoft Store 提交 API 中的多個方法。 如需每個案例和每個方法語法的相關資訊,請參閱下表中的文章。

注意

取得存取權杖後,您有 60 分鐘的時間呼叫 Microsoft Store 提交 API 中的方法,之後權杖便會過期。

案例 描述
App 擷取向合作夥伴中心帳戶註冊之所有應用程式的資料,並建立應用程式的提交。 如需這些方法的詳細資訊,請參閱下列文章:
附加元件 取得、建立或刪除應用程式的附加元件,然後取得、建立或刪除附加元件提交。 如需這些方法的詳細資訊,請參閱下列文章:
套件發行小眾測試版 取得、建立或刪除您應用程式的套件發行小眾測試版,然後取得、建立或刪除套件發行小眾測試版的提交。 如需這些方法的詳細資訊,請參閱下列文章:

程式碼範例

下列文章提供詳細的程式碼範例,示範如何以數種不同的程式設計語言使用 Microsoft Store 提交 API:

StoreBroker PowerShell 模組

作為直接呼叫 Microsoft Store 提交 API 的替代方案,我們也提供開放原始碼 PowerShell 模組,以在 API 之上實作命令列介面。 此模組稱為 StoreBroker。 您可以使用此模組,從命令列管理應用程式、發行小眾測試版和附加元件提交,而不是直接呼叫 Microsoft Store 提交 API,您也可以直接瀏覽來源來查看更多如何呼叫此 API 的範例。 Microsoft 內會主動使用 StoreBroker 模組,作為許多第一方應用程式提交至市集的主要方式。

如需詳細資訊,請參閱 GitHub 上的 StoreBroker 頁面

疑難排解

問題 解決方案
從 PowerShell 呼叫 Microsoft Store 提交 API 之後,如果您使用 ConvertFrom-Json Cmdlet 將 API 的回應資料從 JSON 格式轉換為 PowerShell 物件,然後使用 ConvertTo-Json Cmdlet 恢復 JSON 格式,則會損毀 API 的會應資料。 根據預設,ConvertTo-Json Cmdlet 的 -Depth 參數會設定為 2 層物件,這對於 Microsoft Store 提交 API 所傳回的大部分 JSON 物件而言太淺。 當您呼叫 ConvertTo-Json Cmdlet 時,請將 -Depth 參數設定為較大的數字,例如 20。

其他說明

如果您有關於 Microsoft Store 提交 API 的疑問,或需要使用此 API 管理提交方面的協助,請使用下列資源:

  • 在我們的論壇上提問。
  • 請瀏覽我們的支援頁面,並要求合作夥伴中心的其中一個協助支援選項。 如果系統提示您選擇問題類型和類別,請分別選擇 [應用程式提交和認證] 和 [提交應用程式]