Compartir vía


Ejemplos de API REST para Azure DevOps

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

La mayoría de los ejemplos de este artículo usan tokens de acceso personal (PAT). Los PAT son un ejemplo compacto para la autenticación. Hay muchos otros mecanismos de autenticación disponibles, como la Biblioteca de autenticación de Microsoft, OAuth y tokens de sesión. Para obtener más información para medir cuál es la más adecuada para su escenario, consulte Guía de autenticación.

Para más información, consulte Referencia de la API REST de Azure DevOps Services y Introducción a las API REST.

Tokens de acceso personal

Autentíquese con Azure DevOps cuando use las API REST o las bibliotecas de .NET.

Empiece a trabajar con estos ejemplos y cree un PAT.

Sugerencia

Los PAT son como contraseñas. Manténgalos secretos. Asegúrese de guardarlos en una ubicación segura una vez que se cree el PAT.

Para proporcionar el PAT a través de un encabezado HTTP, conviértalo primero en una cadena Base64. En el ejemplo siguiente se muestra cómo convertir a Base64 mediante C#. Puede proporcionar la cadena resultante como un encabezado HTTP en el formato siguiente:

Authorization: Basic BASE64USERNAME:PATSTRING

REST API

Consulte el siguiente ejemplo de obtención de una lista de proyectos para su organización a través de la API REST.

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;
    }   
}

Bibliotecas de cliente de .NET

Aquí se usan dos de las bibliotecas cliente de .NET. Asegúrese de hacer referencia a las siguientes bibliotecas cliente de .NET en el proyecto de .NET.

Consulte el ejemplo siguiente de obtención de una lista de proyectos para su organización a través de bibliotecas cliente de .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;                    
}

Preguntas más frecuentes

P: ¿Dónde puedo obtener el código fuente de los ejemplos de código?

R: Vea .https://github.com/Microsoft/vsts-restapi-samplecode

P: ¿Dónde puedo encontrar más información sobre la biblioteca .NET?

R: Consulte la introducción a las bibliotecas cliente.