Получение кода неавторизованного статуса при запросе API-интерфейса TFS REST через консольное приложение C # и обновление TFS 2015 3.
Привет всем,
Я пытаюсь контролировать TFS (обновление 2015 г.)3) REST API с консольным приложением C #.
В моем старом приложении я ссылался на библиотеки Microsoft.VisualStudio.Build.Client
(и т. Д.) И мог получить доступ к необходимой мне информации через TfsTeamProjectCollection
.Честно говоря, я не знаю, откуда взялась аутентификация.Может быть, с помощью учетных данных Windows или учетной записи, связанной с Visual Studio.В любом случае мне не нужно было указывать учетные данные в моем приложении.
Но я не нашел пример для REST API, где мне не нужно было бы специально авторизоваться.
Я нашел пример использования клиентской библиотеки .NET, которая авторизуется с помощью VssCredentials (используя NTLM).Мне также не нужно указывать здесь имя пользователя или дополнительный пароль:
VssConnection connection = new VssConnection(new Uri(URL), new VssCredentials());
Это тоже работает, но я не могу получить всю необходимую информацию об этом, поэтому я сам хотел контролировать API REST.
Может кто-нибудь прислать мне пример того, как я могу получить доступ к REST API без отдельного имени пользователя / пароля?Или это уже невозможно?
Спасибо, Йоханнес
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
using (HttpResponseMessage response = await client.GetAsync("http://ServerName:8080/tfs/CollectionName/ProjectName/_apis/build/builds/BuildID"))
{
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
Я ожидаю получить ответ json, но вместо этого получу только Unatorized Exception.