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 votre compte De l’Espace partenaires Windows ou de votre organization. Cette API permet de récupérer des données sur les acquisitions, les erreurs, les évaluations et les avis sur les applications et les extensions (également connues sous le nom PIA, produit in-app). Cette API utilise Azure Active Directory (Azure AD) pour authentifier les appels en provenance 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’analyse du Microsoft Store, obtenez un jeton d’accès Azure AD. Une fois que vous avez obtenu un jeton, vous disposez de 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 nouveau.
- Appelez l’API d’analyse du Microsoft Store.
Étape 1 : Remplir les conditions préalables à l’utilisation de l’API d’analyse du Microsoft Store
Avant de commencer à écrire du code pour appeler l’API d’analyse du Microsoft Store, assurez-vous que vous avez rempli les conditions préalables suivantes.
Vous (ou votre organisation) devez disposer d’un annuaire Azure AD et de l’autorisation Administrateur général sur l’annuaire. Si vous utilisez déjà Microsoft 365 ou d’autres services professionnels de Microsoft, vous disposez déjà d’un annuaire Azure AD. Sinon, vous pouvez créer un nouvel Azure AD dans l’Espace partenaires sans frais supplémentaires.
Vous devez associer une application Azure AD à 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 Azure AD représente l’application ou le service à partir duquel vous souhaitez appeler l’API analytique du Microsoft Store. Il vous faut l’ID tenant, l’ID client et la clé pour obtenir un jeton d’accès Azure AD à transmettre à l’API.
Notes
Vous n’avez besoin d’effectuer cette tâche qu’une seule fois. Une fois que vous les avez, vous pouvez réutiliser l’ID tenant, l’ID client et la clé chaque fois que vous devez créer un jeton d’accès Azure AD.
Pour associer une application Azure AD à 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 Azure AD de votre organisation.
Ensuite, à partir de la page Utilisateurs de la section Paramètres du compte de l’Espace partenaires, ajoutez l’application Azure AD 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 Azure AD, vous pouvez créer une application Azure AD dans l’Espace partenaires.
Revenez à la page Utilisateurs, cliquez sur le nom de votre application Azure AD pour accéder à ses paramètres, puis copiez les valeurs ID tenant et 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, voir Gérer les clés pour une application Azure AD.
Étape 2 : Obtenir un jeton d’accès Azure AD
Avant d’appeler l’une des méthodes de l’API d’analyse du Microsoft Store, vous devez d’abord obtenir un jeton d’accès Azure AD que vous passez à l’en-tête d’autorisation de chaque méthode de 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. Une fois le jeton arrivé à expiration, vous pouvez l’actualiser pour pouvoir continuer à l’utiliser dans d’autres appels à l’API.
Pour obtenir le jeton d’accès, suivez les instructions présentées dans l’article 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 l’URI POST et les paramètres client_id et client_secret , spécifiez l’ID de locataire, l’ID client et la clé de votre application que vous avez récupérés à partir de l’Espace partenaires dans 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 arrivé à expiration, vous pouvez l’actualiser en suivant les instructions fournies ici.
> [!NOTE]
> ResourceType='Graph.windows.net' will be deprecated after September 2023. Please migrate to ResourceType ='Graph.microsoft.com'
Étape 3 : Appeler l’API d’analyse du Microsoft Store
Une fois que vous disposez d’un jeton d’accès Azure AD, vous êtes prêt à appeler l’API d’analyse du Microsoft Store. Vous devez transmettre le jeton d’accès à l’en-tête Authorization de chaque méthode.
Méthodes pour les applications et les 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 | |
Insights | |
Évaluations et avis | |
Publicités in-app et campagnes publicitaires |
Méthodes pour les applications de bureau
Les méthodes d’analyse suivantes peuvent être utilisées par les comptes de développeur qui appartiennent au programme Application de bureau Windows.
Méthodes pour les services Xbox Live
Les méthodes supplémentaires suivantes peuvent être utilisées par les comptes de développeur avec des jeux qui utilisent les services Xbox Live. L’API Microsoft Store Analytics pour Xbox n’est plus disponible. gaming/xbox-live/get-started/join-dev-program/join-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 qui appartiennent 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 analytiques pour le matériel et les pilotes. Pour plus d’informations, consultez API du tableau de bord matériel.
Exemple de code
L’exemple de code suivant montre comment obtenir un jeton d’accès Azure AD 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’analyse 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’analytique 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 montre une réponse d’erreur causé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"
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour