Accéder aux données d’analyse à l’aide des services store
Utilisez l’API d’analytique du Microsoft Store pour récupérer par programmation des données d’analyse pour les applications inscrites dans le compte de l’Espace partenaires Windows de votre organisation ou de votre organisation. Cette API vous permet de récupérer des données pour les acquisitions d’applications et de modules complémentaires (également appelées acquisitions de produits in-app ou IAP), d’erreurs, d’évaluations et de révisions d’application. Cette API utilise Microsoft Entra pour authentifier les appels à partir de votre application ou service.
Les étapes suivantes décrivent le processus de bout en bout :
- Vérifiez que vous avez rempli toutes les conditions préalables.
- Avant d’appeler une méthode dans l’API d’analytique du Microsoft Store, obtenez un jeton d’accès Microsoft Entra. Après avoir obtenu un jeton, vous avez 60 minutes pour utiliser ce jeton dans les appels à l’API d’analyse du Microsoft Store avant l’expiration du jeton. Une fois le jeton arrivé à expiration, vous pouvez en générer un autre.
- Appelez l’API d’analytique du Microsoft Store.
Étape 1 : Remplir les conditions préalables à l’utilisation de l’API d’analytique du Microsoft Store
Avant de commencer à écrire du code pour appeler l’API d’analytique du Microsoft Store, vérifiez que vous avez rempli les conditions préalables suivantes.
Vous (ou votre organisation) devez disposer d’un annuaire Microsoft Entra et vous devez disposer de l’autorisation d’administrateur général pour l’annuaire. Si vous utilisez déjà Microsoft 365 ou d’autres services professionnels de Microsoft, vous disposez déjà d’un annuaire Microsoft Entra. Sinon, vous pouvez en créer un nouveau dans l’Espace partenaires sans frais supplémentaires.
Vous devez associer une application Microsoft Entra à votre compte Espace partenaires, récupérer l’ID de locataire et l’ID client de l’application et générer une clé. L’application Microsoft Entra représente l’application ou le service à partir duquel vous souhaitez appeler l’API d’analyse du Microsoft Store. Vous avez besoin de l’ID de locataire, de l’ID client et de la clé pour obtenir un jeton d’accès Microsoft Entra que vous transmettez à l’API.
Remarque
Vous ne devez effectuer cette tâche qu’une seule fois. Une fois que vous avez l’ID de locataire, l’ID client et la clé, vous pouvez les réutiliser chaque fois que vous devez créer un jeton d’accès Microsoft Entra.
Pour associer une application Microsoft Entra à votre compte Espace partenaires et récupérer les valeurs requises :
- Dans l’Espace partenaires, associez le compte espace partenaires de votre organisation à l’annuaire Microsoft Entra de votre organisation.
- Ensuite, dans la page Utilisateurs de la section Paramètres du compte de l’Espace partenaires, ajoutez l’application Microsoft Entra qui représente l’application ou le service que vous utiliserez pour accéder aux données d’analyse de votre compte Espace partenaires. Veillez à attribuer à cette application le rôle Gestionnaire. Si l’application n’existe pas encore dans votre annuaire Microsoft Entra, vous pouvez créer une application Microsoft Entra dans l’Espace partenaires.
- Revenez à la page Gestion des utilisateurs et accédez à l’onglet Applications Microsoft Entra, cliquez sur le nom de votre application Microsoft Entra pour accéder aux paramètres de l’application, puis copiez l’ID de locataire et les valeurs d’ID client.
- Cliquez sur Ajouter une nouvelle clé. Sur l’écran suivant, copiez la valeur Clé. Vous ne pourrez plus accéder à cette information une fois que vous aurez quitté cette page. Pour plus d’informations, consultez Gérer les clés d’une application Microsoft Entra.
Étape 2 : Obtenir un jeton d’accès Microsoft Entra
Avant d’appeler l’une des méthodes de l’API d’analytique du Microsoft Store, vous devez d’abord obtenir un jeton d’accès Microsoft Entra que vous passez à l’en-tête d’autorisation de chaque méthode dans l’API. Une fois que vous avez récupéré le jeton d’accès, vous avez 60 minutes pour l’utiliser avant qu’il n’expire. Après l'expiration du jeton, vous pouvez le rafraîchir afin de pouvoir continuer à l'utiliser lors d'autres appels à l'API.
Pour obtenir le jeton d’accès, suivez les instructions de la section Appels de service à service à l’aide des informations d’identification du client pour envoyer une requête HTTP POST au point de terminaison https://login.microsoftonline.com/<tenant_id>/oauth2/token
. Voici un exemple de requête.
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
Pour la valeur tenant_id dans le POST URI et les paramètres client_id et client_secret, spécifiez l’ID du locataire, l’ID de client et la clé de votre application que vous avez récupérée dans l’Espace partenaires à la section précédente. Pour le paramètre resource, vous devez spécifier https://manage.devcenter.microsoft.com
.
Une fois votre jeton d’accès expiré, vous pouvez l’actualiser en suivant les instructions fournies ici.
Remarque
ResourceType=Graph.windows.net
a été déconseillé en septembre 2023. Migrez vers ResourceType =Graph.microsoft.com
.
Étape 3 : Appeler l’API d’analytique du Microsoft Store
Une fois que vous avez un jeton d’accès Microsoft Entra, vous êtes prêt à appeler l’API d’analytique du Microsoft Store. Vous devez transmettre le jeton d’accès à l’en-tête d’autorisation de chaque méthode.
Méthodes pour les applications et jeux UWP
Les méthodes suivantes sont disponibles pour les acquisitions d’applications et de jeux et les acquisitions de modules complémentaires :
- Obtenir des données d’acquisitions pour vos applications et vos jeux
- Obtenir des données d’acquisitions d’extension pour vos applications et vos jeux
Méthodes pour les applications UWP
Les méthodes d’analyse suivantes sont disponibles pour les applications UWP dans l’Espace partenaires.
Scénario | Méthodes |
---|---|
Acquisitions, conversions, installations et utilisation |
|
Erreurs d’application | |
Informations | |
Évaluations et avis | |
Publicités et campagnes publicitaires dans l’application |
Méthodes pour les applications de bureau
Les méthodes d’analyse suivantes sont disponibles pour être utilisées par les comptes de développeur qui appartiennent au programme d’application de bureau Windows.
Méthodes pour les services Xbox Live
Les méthodes supplémentaires suivantes sont disponibles pour une utilisation par les comptes de développeur avec des jeux qui utilisent des services Xbox Live. L’API Microsoft Store Analytics pour Xbox n’est plus disponible. gaming/xbox-live/get-started/join-dev-program/join-dev-dev-program_nav
Scénario | Méthodes |
---|---|
Analyse générale |
Méthodes pour le matériel et les pilotes
Les comptes de développeur appartenant au programme de tableau de bord matériel Windows ont accès à un ensemble supplémentaire de méthodes pour récupérer des données d’analyse pour le matériel et les pilotes. Pour plus d’informations, consultez l’API du tableau de bord matériel.
Exemple de code
L’exemple de code suivant montre comment obtenir un jeton d’accès Microsoft Entra et appeler l’API d’analyse du Microsoft Store à partir d’une application console C#. Pour utiliser cet exemple de code, affectez les variables tenantId, clientId, clientSecret et appID aux valeurs appropriées pour votre scénario. Cet exemple nécessite le package Json.NET de Newtonsoft pour désérialiser les données JSON retournées par l’API d’analytique du 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;
}
}
}
Réponses d’erreur
L’API d’analyse du Microsoft Store retourne des réponses d’erreur dans un objet JSON qui contient des codes d’erreur et des messages. L’exemple suivant illustre une réponse d’erreur provoquée par un paramètre non valide.
{
"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"
}