REST-API-Beispiele für Azure DevOps
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Die meisten Beispiele in diesem Artikel verwenden persönliche Zugriffstoken (PATs). PATs sind ein kompaktes Beispiel für die Authentifizierung. Es sind viele andere Authentifizierungsmechanismen verfügbar, einschließlich Microsoft-Authentifizierungsbibliothek, OAuth und Sitzungstoken. Weitere Informationen zum Messen, was für Ihr Szenario am besten geeignet ist, finden Sie unter Authentifizierungsleitfaden.
Weitere Informationen finden Sie unter Azure DevOps Services REST API Reference and Get started with REST APIs.
Persönliche Zugriffstoken
Authentifizieren Sie sich bei Azure DevOps, wenn Sie die REST-APIs oder .NET-Bibliotheken verwenden.
Erste Schritte mit diesen Beispielen und Erstellen eines PAT.
Tipp
PATs sind wie Kennwörter. Bewahren Sie sie geheim auf. Stellen Sie sicher, dass Sie sie an einem sicheren Ort speichern, nachdem Ihr PAT erstellt wurde.
Um den PAT über einen HTTP-Header bereitzustellen, konvertieren Sie ihn zuerst in eine Base64-Zeichenfolge. Das folgende Beispiel zeigt, wie Sie mit C# in Base64 konvertieren. Sie können die resultierende Zeichenfolge als HTTP-Header im folgenden Format bereitstellen:
Authorization: Basic BASE64USERNAME:PATSTRING
REST-API
Im folgenden Beispiel wird eine Liste von Projekten für Ihre Organisation über die REST-API angezeigt.
using System.Net.Http;
using System.Net.Http.Headers;
...
//encode your personal access token
string credentials = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "", personalAccessToken)));
ListOfProjectsResponse.Projects viewModel = null;
//use the httpclient
using (var client = new HttpClient())
{
client.BaseAddress = new Uri($"https://dev.azure.com/{OrgName}/"); //url of your organization
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials);
//connect to the REST endpoint
HttpResponseMessage response = client.GetAsync("_apis/projects?stateFilter=All&api-version=1.0").Result;
//check to see if we have a successful response
if (response.IsSuccessStatusCode)
{
//set the viewmodel from the content in the response
viewModel = response.Content.ReadAsAsync<ListOfProjectsResponse.Projects>().Result;
//var value = response.Content.ReadAsStringAsync().Result;
}
}
.NET-Clientbibliotheken
Hier verwenden wir zwei der .NET-Clientbibliotheken. Stellen Sie sicher, dass Sie in Ihrem .NET-Projekt auf die folgenden .NET-Clientbibliotheken verweisen.
Im folgenden Beispiel wird eine Liste von Projekten für Ihre Organisation über .NET-Clientbibliotheken angezeigt.
using Microsoft.TeamFoundation.Core.WebApi;
using Microsoft.VisualStudio.Services.Common;
...
//create uri and VssBasicCredential variables
Uri uri = new Uri(url);
VssBasicCredential credentials = new VssBasicCredential("", personalAccessToken);
using (ProjectHttpClient projectHttpClient = new ProjectHttpClient(uri, credentials))
{
IEnumerable<TeamProjectReference> projects = projectHttpClient.GetProjects().Result;
}
Häufig gestellte Fragen
F: Wo erhalte ich den Quellcode für die Codebeispiele?
A: Siehe die https://github.com/Microsoft/vsts-restapi-samplecode.
F: Wo finde ich weitere Informationen zur .NET-Bibliothek?
A: Sehen Sie sich die Übersicht über Clientbibliotheken an.