REST API-voorbeelden voor Azure DevOps
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
In de meeste voorbeelden in dit artikel worden persoonlijke toegangstokens (PAT's) gebruikt. PAW's zijn een compact voorbeeld voor verificatie. Er zijn veel andere verificatiemechanismen beschikbaar, waaronder Microsoft Authentication Library, OAuth en sessietokens. Zie de richtlijnen voor verificatie voor meer informatie om te meten wat het meest geschikt is voor uw scenario.
Zie Azure DevOps Services REST API Reference and Get started with REST API's (Aan de slag met REST API's) voor meer informatie.
Persoonlijke toegangstokens
Verifieer met Azure DevOps wanneer u de REST API's of .NET-bibliotheken gebruikt.
Ga aan de slag met deze voorbeelden en maak een PAT.
Tip
PAW's zijn hetzelfde als wachtwoorden. Houd ze geheim. Zorg ervoor dat u ze op een veilige locatie opslaat zodra uw PAT is gemaakt.
Als u de PAT via een HTTP-header wilt opgeven, moet u deze eerst converteren naar een Base64-tekenreeks. In het volgende voorbeeld ziet u hoe u met C# converteert naar Base64. U kunt de resulterende tekenreeks opgeven als een HTTP-header in de volgende indeling:
Authorization: Basic BASE64USERNAME:PATSTRING
REST-API
Zie het volgende voorbeeld van het ophalen van een lijst met projecten voor uw organisatie via REST API.
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 gebruiken we twee .NET-clientbibliotheken. Zorg ervoor dat u verwijst naar de volgende .NET-clientbibliotheken in uw .NET-project.
Zie het volgende voorbeeld van het ophalen van een lijst met projecten voor uw organisatie via .NET-clientbibliotheken.
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;
}
Veelgestelde vragen
V: Waar kan ik de broncode voor de codevoorbeelden ophalen?
A: Zie de https://github.com/Microsoft/vsts-restapi-samplecode.
V: Waar vind ik meer informatie over de .NET-bibliotheek?
A: Bekijk het overzicht van clientbibliotheken.