Share via


Azure DevOps için REST API örnekleri

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

Bu makaledeki örneklerin çoğu kişisel erişim belirteçlerini (PAT) kullanır. PAT'ler kimlik doğrulaması için küçük bir örnek. Microsoft Kimlik Doğrulama Kitaplığı, OAuth ve Oturum belirteçleri gibi başka birçok kimlik doğrulama mekanizması vardır. Senaryonuz için en uygun olanı ölçmeye yönelik daha fazla bilgi için bkz . Kimlik doğrulama kılavuzu.

Daha fazla bilgi için bkz . Azure DevOps Services REST API Başvurusu ve REST API'lerini kullanmaya başlama.

Kişisel erişim belirteçleri

REST API'lerini veya .NET Kitaplıklarını kullanırken Azure DevOps ile kimlik doğrulaması.

Bu örnekleri kullanmaya başlayın ve pat oluşturun.

İpucu

PAT'ler parola gibidir. Onları gizli tutun. PAT'niz oluşturulduktan sonra bunları güvenli bir konuma kaydettiğinizden emin olun.

PAT'yi bir HTTP üst bilgisi aracılığıyla sağlamak için önce base64 dizesine dönüştürün. Aşağıdaki örnekte C# kullanarak Base64'e nasıl dönüştürüldüğü gösterilmektedir. Elde edilen dizeyi http üst bilgisi olarak aşağıdaki biçimde sağlayabilirsiniz:

Authorization: Basic BASE64USERNAME:PATSTRING

REST API

REST API aracılığıyla kuruluşunuza yönelik projelerin listesini alma örneğine bakın.

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 İstemci Kitaplıkları

Burada iki .NET İstemci Kitaplığı kullanıyoruz. .NET projenizde aşağıdaki .NET İstemci Kitaplıklarına başvurdığınızdan emin olun.

.NET İstemci Kitaplıkları aracılığıyla kuruluşunuz için projelerin listesini alma aşağıdaki örne bakın.

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

SSS

S: Kod örneklerinin kaynak kodunu nereden alabilirim?

Y: bkz https://github.com/Microsoft/vsts-restapi-samplecode. .

S: .NET kitaplığı hakkında daha fazla bilgiyi nereden bulabilirim?

Y: İstemci kitaplıklarına genel bakışa bakın.