Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj interfejsu API analizy sklepu Microsoft Store, aby programowo pobierać dane analityczne dla aplikacji zarejestrowanych na koncie Centrum partnerskiego systemu Windows lub organizacji. Ten interfejs API umożliwia pobieranie danych dotyczących akwizycji aplikacji i dodatków (znanych również jako produkty w aplikacji lub IAP), błędów, ocen aplikacji oraz recenzji. Ten interfejs API używa firmy Microsoft Entra do uwierzytelniania wywołań z aplikacji lub usługi.
W poniższych krokach opisano pełny proces:
- Upewnij się, że spełniłeś wszystkie wymagania wstępne .
- Przed wywołaniem metody w interfejsie API analizy sklepu Microsoft Store uzyskaj token dostępu firmy Microsoft Entra. Po uzyskaniu tokenu masz 60 minut na jego użycie w wywołaniach API analiz sklepu Microsoft Store, zanim wygaśnie. Po wygaśnięciu tokenu możesz wygenerować nowy token.
- Wywołaj interfejs API analityki sklepu Microsoft Store.
Krok 1. Pełne wymagania wstępne dotyczące korzystania z interfejsu API analizy sklepu Microsoft Store
Przed rozpoczęciem pisania kodu w celu wywołania interfejsu API analizy sklepu Microsoft Store upewnij się, że zostały spełnione następujące wymagania wstępne.
Ty (lub twoja organizacja) musisz mieć katalog Microsoft Entra i musisz mieć uprawnienia globalnego administratora dla tego katalogu. Jeśli korzystasz już z Microsoft 365 lub innych usług biznesowych od Microsoft, już masz katalog Microsoft Entra. W przeciwnym razie możesz utworzyć nowy w Centrum partnerskim bez dodatkowych opłat.
Musisz skojarzyć aplikację Microsoft Entra z kontem Centrum partnerskiego, pobrać identyfikator dzierżawy i identyfikator klienta dla aplikacji i wygenerować klucz. Aplikacja Microsoft Entra reprezentuje aplikację lub usługę, z której chcesz wywołać interfejs API analizy sklepu Microsoft Store. Potrzebujesz identyfikatora dzierżawcy, identyfikatora klienta i klucza, aby uzyskać token dostępu Microsoft Entra, który przekazujesz do API.
Uwaga / Notatka
To zadanie trzeba wykonać tylko raz. Po utworzeniu identyfikatora dzierżawy, identyfikatora klienta i klucza możesz użyć ich ponownie w dowolnym momencie, gdy musisz utworzyć nowy token dostępu firmy Microsoft Entra.
Aby skojarzyć aplikację Microsoft Entra z kontem Centrum partnerskiego i pobrać wymagane wartości:
- W Partner Center połącz konto Partner Center swojej organizacji z katalogiem Microsoft Entra.
- Następnie na stronie Użytkownicy w sekcji Ustawienia konta Centrum partnerskiego dodaj aplikację Microsoft Entra reprezentującą aplikację lub usługę, która będzie używana do uzyskiwania dostępu do danych analitycznych dla konta Centrum partnerskiego. Upewnij się, że przypiszesz tej aplikacji rolę menedżera . Jeśli aplikacja jeszcze nie istnieje w katalogu Microsoft Entra, możesz utworzyć nową aplikację Microsoft Entra w Centrum partnerskim.
- Wróć do strony Zarządzanie użytkownikami i przejdź do karty Aplikacje firmy Microsoft Entra , kliknij nazwę aplikacji Microsoft Entra, aby przejść do ustawień aplikacji, a następnie skopiować wartości Identyfikator dzierżawy i Identyfikator klienta .
- Kliknij pozycję Dodaj nowy klucz. Na poniższym ekranie skopiuj wartość klucza . Po opuszczeniu tej strony nie będzie można ponownie uzyskać dostępu do tych informacji. Aby uzyskać więcej informacji, zobacz Zarządzanie kluczami dla aplikacji Microsoft Entra.
Krok 2. Uzyskiwanie tokenu dostępu firmy Microsoft
Przed wywołaniem dowolnej metody w interfejsie API analizy Microsoft Store należy najpierw uzyskać token dostępu Microsoft Entra, który jest przekazywany do nagłówka Authorization każdej metody w interfejsie API. Po uzyskaniu tokenu dostępu należy 60 minut używać go przed jego wygaśnięciem. Po wygaśnięciu tokenu możesz odświeżyć token, aby móc nadal używać go w kolejnych wywołaniach interfejsu API.
Aby uzyskać token dostępu, postępuj zgodnie z instrukcjami w Service to Service Calls Using Client Credentials (Wywołania usługi do usługi przy użyciu poświadczeń klienta) i wyślij żądanie HTTP POST do punktu końcowego https://login.microsoftonline.com/<tenant_id>/oauth2/token. Oto przykładowe żądanie.
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
Dla wartości tenant_id w identyfikatorze URI POST oraz parametrów client_id i client_secret podaj identyfikator dzierżawy, identyfikator klienta oraz klucz do aplikacji, które uzyskałeś z Centrum Partnerskiego w poprzedniej sekcji. Dla parametru zasobu
Po wygaśnięciu tokenu dostępu możesz go odświeżyć, postępując zgodnie z instrukcjami tutaj.
Uwaga / Notatka
ResourceType =Graph.windows.net został wycofany we wrześniu 2023 r. Przeprowadź migrację do właściwości ResourceType =Graph.microsoft.com.
Krok 3. Uruchomienie interfejsu API analiz sklepu Microsoft Store
Po otrzymaniu tokenu dostępu Microsoft Entra możesz wywołać API analityki Microsoft Store. Należy przekazać token dostępu do nagłówka autoryzacji każdej metody.
Metody dla aplikacji i gier UWP
Dostępne są następujące metody pozyskiwania aplikacji i gier oraz pozyskiwania dodatków:
- Pozyskaj dane dotyczące pozyskiwania dla swoich gier i aplikacji
- Uzyskaj dane dotyczące nabycia dodatków dla swoich gier i aplikacji
Metody dla aplikacji platformy UWP
Następujące metody analizy są dostępne dla aplikacji platformy UWP w Centrum partnerskim.
| Scenariusz | Metody |
|---|---|
| Pozyskiwanie, konwersje, instalacje i użycie |
|
| Błędy aplikacji | |
| Spostrzeżenia | |
| Oceny i recenzje | |
| Reklamy w aplikacji i kampanie reklamowe |
Metody dla aplikacji desktopowych
Następujące metody analizy są dostępne do użycia przez konta deweloperów, które należą do programu Aplikacji klasycznej systemu Windows.
| Scenariusz | Metody |
|---|---|
| Instaluje | |
| Bloki | |
| Błędy aplikacji | |
| Spostrzeżenia |
Metody dla usług Xbox Live
Poniższe dodatkowe metody są dostępne do użycia przez konta deweloperów z grami korzystającymi z usług Xbox Live. API Microsoft Store Analytics dla konsoli Xbox nie jest już dostępne. gaming/xbox-live/get-started/join-dev-program/join-dev-program_nav
| Scenariusz | Metody |
|---|---|
| Analiza ogólna |
|
Metody dotyczące sprzętu i sterowników
Konta deweloperów należące do programu pulpitu nawigacyjnego sprzętu systemu Windows mają dostęp do dodatkowego zestawu metod pobierania danych analitycznych dla sprzętu i sterowników. Aby uzyskać więcej informacji, zobacz Interfejs API sprzętu do pulpitu nawigacyjnego.
Przykład kodu
W poniższym przykładzie kodu pokazano, jak uzyskać token dostępu firmy Microsoft Entra i wywołać interfejs API analizy sklepu Microsoft Store z poziomu aplikacji konsolowej języka C#. Aby użyć tego przykładu kodu, przypisz tenantId, clientId, clientSecreti appID zmiennych do odpowiednich wartości dla danego scenariusza. Ten przykład wymaga pakietu Json.NET firmy Newtonsoft, aby zdeserializować dane JSON zwracane przez API analizy Microsoft Store.
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
namespace TestAnalyticsAPI
{
class Program
{
static void Main(string[] args)
{
string tenantId = "<your tenant ID>";
string clientId = "<your client ID>";
string clientSecret = "<your secret>";
string scope = "https://manage.devcenter.microsoft.com";
// Retrieve an Azure AD access token
string accessToken = GetClientCredentialAccessToken(
tenantId,
clientId,
clientSecret,
scope).Result;
// This is your app's Store ID. This ID is available on
// the App identity page of the Dev Center dashboard.
string appID = "<your app's Store ID>";
DateTime startDate = DateTime.Parse("08-01-2015");
DateTime endDate = DateTime.Parse("11-01-2015");
int pageSize = 1000;
int startPageIndex = 0;
// Call the Windows Store analytics API
CallAnalyticsAPI(accessToken, appID, startDate, endDate, pageSize, startPageIndex);
Console.Read();
}
private static void CallAnalyticsAPI(string accessToken, string appID, DateTime startDate, DateTime endDate, int top, int skip)
{
string requestURI;
// Get app acquisitions
requestURI = string.Format(
"https://manage.devcenter.microsoft.com/v1.0/my/analytics/appacquisitions?applicationId={0}&startDate={1}&endDate={2}&top={3}&skip={4}",
appID, startDate, endDate, top, skip);
//// Get add-on acquisitions
//requestURI = string.Format(
// "https://manage.devcenter.microsoft.com/v1.0/my/analytics/inappacquisitions?applicationId={0}&startDate={1}&endDate={2}&top={3}&skip={4}",
// appID, startDate, endDate, top, skip);
//// Get app failures
//requestURI = string.Format(
// "https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits?applicationId={0}&startDate={1}&endDate={2}&top={3}&skip={4}",
// appID, startDate, endDate, top, skip);
//// Get app ratings
//requestURI = string.Format(
// "https://manage.devcenter.microsoft.com/v1.0/my/analytics/ratings?applicationId={0}&startDate={1}&endDate={2}top={3}&skip={4}",
// appID, startDate, endDate, top, skip);
//// Get app reviews
//requestURI = string.Format(
// "https://manage.devcenter.microsoft.com/v1.0/my/analytics/reviews?applicationId={0}&startDate={1}&endDate={2}&top={3}&skip={4}",
// appID, startDate, endDate, top, skip);
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, requestURI);
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
WebRequestHandler handler = new WebRequestHandler();
HttpClient httpClient = new HttpClient(handler);
HttpResponseMessage response = httpClient.SendAsync(requestMessage).Result;
Console.WriteLine(response);
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
response.Dispose();
}
public static async Task<string> GetClientCredentialAccessToken(string tenantId, string clientId, string clientSecret, string scope)
{
string tokenEndpointFormat = "https://login.microsoftonline.com/{0}/oauth2/token";
string tokenEndpoint = string.Format(tokenEndpointFormat, tenantId);
dynamic result;
using (HttpClient client = new HttpClient())
{
string tokenUrl = tokenEndpoint;
using (
HttpRequestMessage request = new HttpRequestMessage(
HttpMethod.Post,
tokenUrl))
{
string content =
string.Format(
"grant_type=client_credentials&client_id={0}&client_secret={1}&resource={2}",
clientId,
clientSecret,
scope);
request.Content = new StringContent(content, Encoding.UTF8, "application/x-www-form-urlencoded");
using (HttpResponseMessage response = await client.SendAsync(request))
{
string responseContent = await response.Content.ReadAsStringAsync();
result = JsonConvert.DeserializeObject(responseContent);
}
}
}
return result.access_token;
}
}
}
Odpowiedzi na błędy
Interfejs API analizy sklepu Microsoft Store zwraca odpowiedzi o błędach w obiekcie JSON zawierającym kody błędów i komunikaty. W poniższym przykładzie pokazano odpowiedź o błędzie spowodowaną nieprawidłowym parametrem.
{
"code":"BadRequest",
"data":[],
"details":[],
"innererror":{
"code":"InvalidQueryParameters",
"data":[
"top parameter cannot be more than 10000"
],
"details":[],
"message":"One or More Query Parameters has invalid values.",
"source":"AnalyticsAPI"
},
"message":"The calling client sent a bad request to the service.",
"source":"AnalyticsAPI"
}