Utilisation de l’API Diagnostics
Important
La mise hors service de Visual Studio App Center est prévue pour le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à sa mise hors service complète, il existe plusieurs alternatives recommandées vers lesquelles vous pouvez envisager la migration.
En savoir plus sur les chronologies et les alternatives de support.
App Center Diagnostics prend en charge plusieurs fonctionnalités d’API répertoriées sous la section Plantages et erreurs de la page Swagger App Center. Lisez la documentation de l’API App Center pour savoir comment acquérir un jeton d’API et effectuer des appels à l’API App Center.
Notes
L’API Diagnostics d’App Center ne prend pas en charge CORS (Cross-Origin Resource Sharing). Par conséquent, les demandes des clients qui le demandent, comme les navigateurs, échouent. Pour interagir avec l’API à partir d’un navigateur, vous pouvez utiliser un service proxy sous votre propre domaine qui transfère les demandes à l’API App Center.
Transition vers les nouvelles API
Avec notre annonce de disponibilité générale App Center Diagnostics l’année dernière et nos améliorations diagnostics UWP, nous avons apporté des modifications à nos API pour permettre à un pipeline back-end amélioré de traiter vos incidents et erreurs. Selon les API que vous utilisez, une action peut être nécessaire de votre côté pour garantir une transition sans heurts.
Il existe trois types d’API de blocage :
- Blocage des API mappées aux nouvelles API
- Bloque les API qui n’existent plus
- Blocage des API qui restent inchangées
Blocage des API mappées aux nouvelles API
Les anciennes API répertoriées dans la section incidents sont déconseillées et ont été supprimées. Vous devez utiliser les nouvelles API diagnostics comme indiqué dans le tableau ci-dessous.
API d’anciennes pannes | Nouvelle API incidents |
---|---|
GET/v0.1/apps/{owner_name}/{app_name}/retention_settings | GET/v0.1/apps/{owner_name}/{app_name}/errors/retention_settings |
GET/v0.1/apps/{owner_name}/{app_name}/versions | GET/v0.1/apps/{owner_name}/{app_name}/analytics/versions |
GET/v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments/{attachment_id}/text | GET/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentId}/text |
GET/v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments/{attachment_id}/location | GET/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentId}/location |
GET/v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments | GET/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments |
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/stacktrace | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/stacktrace |
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/stacktrace | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/stacktrace |
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/native/download | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/download |
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id} | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId} |
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crash | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors |
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id} | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId} |
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups |
DELETE/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id} | DELETE 0.1/apps/{app_id}/errors/errorGroups/{errorGroupId}/errors/{errorId} |
PATCH/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id | PATCH/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId} |
GET/v0.1/apps/{owner_name}/{app_name}/crashes_info | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups |
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups |
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/crash_counts | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errorCountsPerDay |
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_counts | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorCountsPerDay |
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/models | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/models |
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/operating_systems | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/operatingSystems |
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/raw/location | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/location |
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/native | GET /v0.1/apps/{ownerName}/{appName}/errors/errorGroups/{errorGroupId}/errors/{errorId}/download ?format=text » |
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crashfree_device_percentages | GET/v0.1/apps/{owner_name}/{app_name}/errors/errorfreeDevicePercentages |
GET/v0.1/apps/{owner_name}/{app_name}/symbol_groups_info | GET/v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups_info |
GET/v0.1/apps/{owner_name}/{app_name}/symbol_groups/{symbol_group_id} | GET/v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups/{symbol_group_id} |
GET/v0.1/apps/{owner_name}/{app_name}/symbol_groups | GET/v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups |
API de blocages non corrigés
Certaines API d’incidents restent les mêmes dans le nouveau pipeline. Les API suivantes continueront de fonctionner comme prévu et aucune action n’est nécessaire pour l’instant.
API de blocages non corrigés |
---|
GET/v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/status |
GET/v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/location |
POST/v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/ignore |
GET/v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id} |
GET/v0.1/apps/{owner_name}/{app_name}/symbols |
GET/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}/location |
GET/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id} |
PATCH/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id} |
DELETE/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id} |
GET/v0.1/apps/{owner_name}/{app_name}/symbol_uploads |
POST/v0.1/apps/{owner_name}/{app_name}/symbol_uploads |