Sdílet prostřednictvím


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

Začněte s těmitoukázkami

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.