Sdílet prostřednictvím


Přístup k analytickým datům pomocí služeb Store

Pomocí rozhraní API pro analýzu z Microsoft Storu můžete programově načíst analytická data pro aplikace zaregistrované v účtu Windows Partner Center ve vaší organizaci. Toto rozhraní API umožňuje získávat data pro akvizice aplikací a doplňků (také známých jako produkty v aplikaci nebo IAP), chyby, hodnocení a recenze aplikací. Toto rozhraní API používá Microsoft Entra k ověření volání z vaší aplikace nebo služby.

Následující kroky popisují celý proces:

  1. Ujistěte se, že jste dokončili všechny předpoklady .
  2. Před voláním metody v rozhraní API pro analýzu z Microsoft Storu získat přístupový token Microsoft Entra. Po získání tokenu máte 60 minut na použití tohoto tokenu při volání rozhraní API pro analýzu Microsoft Storu před vypršením platnosti tokenu. Po vypršení platnosti tokenu můžete vygenerovat nový token.
  3. Zavolejte rozhraní API pro analýzu Microsoft Storu.

Krok 1: Dokončení požadavků pro použití rozhraní API pro analýzu Microsoft Storu

Než začnete psát kód pro volání rozhraní API pro analýzu Microsoft Storu, ujistěte se, že jste dokončili následující požadavky.

  • Vy (nebo vaše organizace) musíte mít adresář Microsoft Entra a musíte mít globální správce oprávnění k adresáři. Pokud už používáte Microsoft 365 nebo jiné obchodní služby od Microsoftu, už máte adresář Microsoft Entra. Jinak můžete vytvořit nový v Partnerském centru bez dalších poplatků.

  • Aplikaci Microsoft Entra musíte přidružit k účtu Partnerského centra, načíst ID tenanta a ID klienta aplikace a vygenerovat klíč. Aplikace Microsoft Entra představuje aplikaci nebo službu, ze které chcete volat analytické rozhraní API pro Microsoft Store. K získání přístupového tokenu Microsoft Entra, který předáte rozhraní API, potřebujete ID tenanta, ID klienta a klíč.

    Poznámka

    Tuto úlohu musíte provést jenom jednou. Jakmile budete mít ID tenanta, ID klienta a klíč, můžete je kdykoli znovu použít k vytvoření nového přístupového tokenu Microsoft Entra.

Přidružení aplikace Microsoft Entra k účtu Partnerského centra a načtení požadovaných hodnot:

  1. V Partnerském centru přidružíte účet vaší organizace na Partnerském centru k adresáři Microsoft Entra vaší organizace.
  2. Dále na stránce Uživatelé v části Nastavení účtu Partnerského centra přidejte aplikace Microsoft Entra, která představuje aplikaci nebo službu, kterou použijete pro přístup k analytickým datům pro váš účet v Partnerském centru. Ujistěte se, že této aplikaci přiřadíte roli správce. Pokud aplikace ještě v adresáři Microsoft Entra neexistuje, můžete vytvořit novou aplikaci Microsoft Entra v Partnerském centru.
  3. Vraťte se na stránku Users Management a přejděte na kartu aplikace Microsoft Entra, kliknutím na název aplikace Microsoft Entra přejděte do nastavení aplikace a zkopírujte ID tenanta a ID klienta hodnoty.
  4. Klikněte na Přidat nový klíč. Na následující obrazovce zkopírujte hodnotu klíče . Po opuštění této stránky nebudete mít přístup k informacím znovu. Další informace naleznete v tématu Správa klíčů pro aplikaci Microsoft Entra.

Krok 2: Získání přístupového tokenu Microsoft Entra

Než začnete volat některou z metod v rozhraní API pro analýzu Microsoft Storu, musíte nejprve získat přístupový token Microsoft Entra, který předáte do hlavičky Authorization hlavičky každé metody v rozhraní API. Po získání přístupového tokenu ho budete mít 60 minut, než vyprší jeho platnost. Po vypršení platnosti tokenu můžete token aktualizovat, abyste ho mohli dál používat v dalších voláních rozhraní API.

Pokud chcete získat přístupový token, postupujte podle pokynů v části Volání služby do služby pomocí přihlašovacích údajů klienta k odeslání protokolu HTTP POST do koncového bodu https://login.microsoftonline.com/<tenant_id>/oauth2/token. Tady je ukázkový požadavek.

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

Jako hodnotu tenant_id v identifikátoru POST URI a parametrech client_id a client_secret zadejte ID tenanta, ID klienta a klíč pro vaši aplikaci, kterou jste získali z Partnerského centra v předchozí části. Pro parametr prostředku je nutné zadat https://manage.devcenter.microsoft.com.

Po vypršení platnosti přístupového tokenu ho můžete aktualizovat podle pokynů zde.

Poznámka

ResourceType=Graph.windows.net byl v září 2023 zastaralý. Migrujte na ResourceType =Graph.microsoft.com.

Krok 3: Volání rozhraní API pro analýzu Microsoft Storu

Jakmile obdržíte přístupový token Microsoft Entra, můžete volat API pro analýzu dat Microsoft Store. Přístupový token musíte předat do hlavičky Authorization u každé metody.

Metody pro aplikace a hry pro UPW

Pro získání aplikací a her a doplňků jsou k dispozici následující metody:

Metody pro aplikace pro UWP

V Partnerském centru jsou k dispozici následující analytické metody pro aplikace pro UPW.

Scénář Metody
Akvizice, převody, instalace a využití
Chyby aplikace
Vhledy
Hodnocení a recenze
Reklamy v aplikaci a reklamní kampaně

Metody pro desktopové aplikace

Následující analytické metody jsou k dispozici pro použití vývojářskými účty, které patří do programu desktopové aplikace systému Windows.

Scénář Metody
Instaluje
Bloky
Chyby aplikace
Vhledy

Metody pro služby Xbox Live

Následující další metody jsou k dispozici pro vývojářské účty s hrami, které používají služby Xbox Live. Rozhraní API pro analýzu Microsoft Storu pro Xbox už není k dispozici. gaming/xbox-live/začínáme/připojit-se-k-dev-programu/připojit-se-k-dev-programu_nav

Scénář Metody
Obecné analýzy

Metody hardwaru a ovladačů

Vývojářské účty, které patří do programu hardwarového řídicího panelu Windows, mají přístup k další sadě metod pro načítání analytických dat pro hardware a ovladače. Pro více informací viz API rozhraní pro hardwarový řídicí panel.

Příklad kódu

Následující příklad kódu ukazuje, jak získat přístupový token Microsoft Entra a volat rozhraní API pro analýzu Microsoft Storu z konzolové aplikace jazyka C#. Pokud chcete tento příklad kódu použít, přiřaďte tenantId, clientId, clientSecreta appID proměnných odpovídající hodnoty pro váš scénář. Tento příklad vyžaduje, aby balíček Json.NET z Newtonsoftu deserializoval data JSON vrácená rozhraním API pro analýzu Microsoft Storu.

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;
        }
    }
}

Chybové odpovědi

Rozhraní API pro analýzu Microsoft Storu vrací chybové odpovědi v objektu JSON, který obsahuje kódy chyb a zprávy. Následující příklad ukazuje chybovou odpověď způsobenou neplatným 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"
}