다음을 통해 공유


제출 만들기 및 관리

Microsoft Store 제출 API를 사용하여 사용자 또는 조직의 파트너 센터 계정에 대한 앱, 추가 기능 및 패키지 플라이트를 프로그래밍 방식으로 쿼리하고 이에 대한 제출을 만듭니다. 이 API는 계정에서 많은 앱 또는 추가 기능을 관리하고 이러한 자산에 대한 제출 프로세스를 자동화하고 최적화하려는 경우에 유용합니다. 이 API는 Azure AD(Azure Active Directory)를 사용하여 앱 또는 서비스의 호출을 인증합니다.

다음 단계에서는 Microsoft Store 제출 API를 사용하는 종단 간 프로세스를 설명합니다.

  1. 모든 필수 조건을 충족하였는지 확인합니다.
  2. Microsoft Store 제출 API에서 메서드를 호출하기 전에 Azure AD 액세스 토큰을 가져옵니다. 토큰을 가져온 후 만료되기 전에 이 토큰을 Microsoft Store 제출 API에 대한 호출에 사용할 수 있는 시간은 60분입니다. 토큰이 만료된 후 새 토큰을 생성할 수 있습니다.
  3. Microsoft Store 제출 API를 호출하세요.

중요

이 API를 사용하여 앱, 또는 추가 기능에 대한 제출을 만드는 경우 파트너 센터보다는 API를 사용하여 제출만 추가로 변경하세요. 파트너 센터를 사용하여 원래 API를 사용하여 만든 제출을 변경하는 경우 더 이상 API를 사용하여 해당 제출을 변경하거나 커밋할 수 없습니다. 경우에 따라 제출이 제출 프로세스를 더 이상 진행할 수 없는 오류 상태로 남을 수 있습니다. 이러한 문제가 발생하는 경우, 해당 제출을 삭제하고 새 제출을 생성해야 합니다.

중요

비즈니스용 Microsoft Store 및 교육용 Microsoft Store를 통해 대량 구매하기 위한 제출을 게시하거나 LOB 앱에 대한 제출을 기업에 직접 게시하는 데 이 API를 사용할 수 없습니다. 이러한 두 시나리오의 경우 파트너 센터에서 제출을 게시해야 합니다.

참고 항목

이 API를 필수 앱 업데이트 및 Microsoft Store 관리 소모성 추가 기능을 사용하는 앱 또는 추가 기능에 사용할 수 없습니다. 이러한 기능 중 하나를 사용하는 앱 또는 추가 기능에서 Microsoft Store 제출 API를 사용하는 경우, 이 API는 409 오류 코드를 반환합니다. 이 경우 파트너 센터를 사용하여 앱 또는 추가 기능에 대한 제출을 관리해야 합니다.

1단계: Microsoft Store 제출 API를 사용하기 위한 필수 조건 완료하기

Microsoft Store 제출 API를 호출하는 코드 작성을 시작하기 전에 다음의 필수 조건을 완료했는지 확인합니다.

  • 사용자(또는 조직)에 Azure AD 디렉터리가 있어야 하며 디렉터리에 대한 전역 관리자 권한이 있어야 합니다. Microsoft 365 또는 Microsoft의 기타 비즈니스 서비스를 사용하고 있다면 Azure AD 디렉터리를 이미 보유하고 있습니다. 그렇지 않은 경우 추가 비용 없이 파트너 센터에서 새 Azure AD 만들기를 할 수 있습니다.

  • Azure AD 애플리케이션을 파트너 센터 계정에 연결하고 테넌트 ID, 클라이언트 ID 및 키를 가져와야 합니다. 이러한 값은 Microsoft Store 제출 API 호출에 사용할 Azure AD 액세스 토큰을 가져오는 데 필요합니다.

  • Microsoft Store 제출 API에서 사용하도록 앱을 준비합니다.

    • 앱이 아직 파트너 센터에 없는 경우에는 파트너 센터에 이름을 예약하여 앱 만들기를 해야 합니다. Microsoft Store 제출 API를 사용하여 파트너 센터 앱을 만들 수 없습니다. 파트너 센터에서 앱을 만든 다음, API를 사용하여 앱에 액세스하고 프로그래밍 방식으로 제출을 만들 수 있습니다. 그러나 API를 사용하여 추가 기능 및 패키지 플라이트를 프로그래밍 방식으로 만든 후 제출을 만들 수도 있습니다.

    • 이 API를 사용하여 지정된 앱에 대한 제출을 만들기 전에 먼저 연령별 등급 질문에 대한 대답을 포함하여 파트너 센터에서 앱에 대한 한 개의 제출 만들기를 완료해야 합니다. 이렇게 하면 API를 사용하여 프로그래밍 방식으로 이 앱에 대한 새 제출을 만들 수 있습니다. 이러한 유형의 제출에 API를 사용하기 전에 추가 기능 제출 또는 패키지 플라이트 제출을 만들 필요가 없습니다.

    • 앱 제출을 만들거나 업데이트하고 앱 패키지를 포함해야 하는 경우 앱 패키지를 준비합니다.

    • 앱 제출을 만들거나 업데이트하는 경우 Store 목록에 대한 스크린샷 또는 이미지를 포함해야 하는 경우 앱 스크린샷과 이미지를 준비합니다.

    • 추가 기능 제출을 만들거나 업데이트하고 아이콘을 포함시켜야 하는 경우 아이콘을 준비합니다.

파트너 센터 계정에 Azure AD 애플리케이션을 연결하는 방법

Microsoft Store 제출 API를 사용하려면 먼저 Azure AD 애플리케이션을 파트너 센터 계정에 연결하고 해당 애플리케이션에 대한 테넌트 ID 및 클라이언트 ID를 검색하고 키를 생성합니다. Azure AD 애플리케이션은 호출하고자 하는 Microsoft Store 제출 API를 나타내는 앱 또는 서비스입니다. API에 전달하는 Azure AD 액세스 토큰을 가져오려면 테넌트 ID, 클라이언트 ID 및 키가 필요합니다.

참고 항목

이 작업은 한 번만 수행하면 됩니다. 테넌트 ID, 클라이언트 ID 및 키가 있으면 새 Azure AD 액세스 토큰을 만들어야 할 때마다 다시 사용할 수 있습니다.

  1. 파트너 센터에서 조직의 Azure AD 디렉터리에 조직의 파트너 센터 계정을 연결합니다.

  2. 다음으로, 파트너 센터의 계정 설정 섹션에 있는 사용자 페이지에서 파트너 센터 계정에 대한 제출에 액세스하는 데 사용할 앱 또는 서비스를 나타내는 Azure AD 애플리케이션을 추가합니다. 이 응용 프로그램에 관리자 역할을 할당해야 합니다. 애플리케이션이 Azure AD 디렉터리에 아직 없는 경우에는 파트너 센터에서 새 Azure AD 애플리케이션 만들기로 진행할 수 있습니다.

  3. 사용자 페이지로 돌아가서 Azure AD 응용 프로그램의 이름을 클릭하여 응용 프로그램 설정으로 이동하고 테넌트 ID클라이언트 ID 값을 복사합니다.

  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_idclient_secret 매개 변수에는 이전 섹션의 파트너 센터에서 검색한 애플리케이션의 테넌트 ID, 클라이언트 ID 및 키를 지정합니다. 리소스 매개 변수의 경우에는 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에서 특정 순서로 여러 메서드를 호출합니다. 각 시나리오 및 각 메서드의 구문에 대한 자세한 내용은 다음 테이블의 문서를 참조하세요.

참고 항목

액세스 토큰을 가져온 후 만료되기 전에 Microsoft Store 제출 API에서 메서드를 호출할 수 있는 시간은 60분입니다.

시나리오 설명
파트너 센터 계정에 등록된 모든 앱에 대한 데이터를 검색하고 앱에 대한 제출을 만듭니다. 이러한 메서드에 대한 자세한 내용은 다음의 문서를 참조하세요.
추가 기능 앱에 대한 추가 기능을 다운로드, 만들기 또는 삭제한 다음 추가 기능에 대한 제출을 가져오기, 만들기 또는 삭제합니다. 이러한 메서드에 대한 자세한 내용은 다음의 문서를 참조하세요.
패키지 플라이트 앱에 대한 패키지 플라이트 가져오기, 만들기 또는 삭제한 다음 패키지 플라이트의 제출을 가져오거나 만들거나 삭제합니다. 이러한 메서드에 대한 자세한 내용은 다음의 문서를 참조하세요.

코드 예제

다음 문서는 여러 다른 프로그래밍 언어로 Microsoft Store 제출 API를 사용하는 방법을 보여 주는 자세한 코드 예제를 제공합니다.

StoreBroker PowerShell 모듈

Microsoft Store 제출 API를 직접 호출하는 대신 이 API를 기반으로 명령줄 인터페이스를 구현하는 오픈 소스 PowerShell 모듈도 제공합니다. 이 모듈을 StoreBroker라고 합니다. 이 모듈을 사용하여 Microsoft Store 제출 API를 직접 호출하는 대신 명령줄에서 앱, 플라이트, 추가 기능 제출을 관리할 수 있습니다. 또는 소스에서 이 API를 호출하는 방법에 대한 예제를 더 찾아볼 수 있습니다. StoreBroker 모듈은 많은 자사 애플리케이션이 스토어에 제출되는 기본 방식으로 Microsoft 내에서 많이 사용됩니다.

자세한 내용은 GitHub의 StoreBroker 페이지를 참조하세요.

문제 해결

문제 해결 방법
PowerShell에서 Microsoft Store 제출 API를 호출한 뒤, API에 대한 응답 데이터를 ConvertFrom Json cmdlet을 사용하여 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의 제출을 관리하는 데 도움이 필요한 경우 다음의 리소스를 사용하세요.

  • 포럼에서 질문하세요.
  • 지원 페이지를 방문하여 파트너 센터에 대한 보조 지원 옵션 중 하나를 요청하세요. 문제 유형 및 범주를 선택하라는 메시지가 표시되면 앱 제출 및 인증앱 제출하기를 각각 선택합니다.