Ukázky rozhraní REST API pro Azure DevOps
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Většina ukázek v tomto článku používá osobní přístupové tokeny (PAT). Pats jsou kompaktní příklad ověřování. K dispozici je mnoho dalších mechanismů ověřování, včetně tokenů Microsoft Authentication Library, OAuth a Session. Další informace o tom, které jsou pro váš scénář nejvhodnější, najdete v doprovodných materiálech k ověřování.
Další informace najdete v referenčních informacích k rozhraní REST API služby Azure DevOps Services a začínáme s rozhraními REST API.
Osobní přístupové tokeny (PAT)
Ověřování pomocí Azure DevOps při použití rozhraní REST API nebo knihoven .NET
Tip
PAT jsou jako hesla. Uchovávejte je v tajnosti. Po vytvoření pat nezapomeňte je uložit do zabezpečeného umístění.
Pokud chcete pat poskytnout prostřednictvím hlavičky HTTP, nejprve ji převeďte na řetězec Base64. Následující příklad ukazuje, jak převést na Base64 pomocí jazyka C#. Výsledný řetězec můžete zadat jako hlavičku HTTP v následujícím formátu:
Authorization: Basic BASE64USERNAME:PATSTRING
REST API
Podívejte se na následující příklad získání seznamu projektů pro vaši organizaci prostřednictvím rozhraní 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;
}
}
Klientské knihovny .NET
V této části používáme dvě klientské knihovny .NET. Ujistěte se, že v projektu .NET odkazujete na následující klientské knihovny .NET.
Podívejte se na následující příklad získání seznamu projektů pro vaši organizaci prostřednictvím klientských knihoven .NET.
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;
}
Nejčastější dotazy
Otázka: Kde získám zdrojový kód pro ukázky kódu?
A: Podívejte se na https://github.com/Microsoft/vsts-restapi-samplecode
Otázka: Kde najdu další informace o knihovně .NET?
A: Podívejte se na přehled klientských knihoven.