我能够很好地使用Azure Devops RestAPI,但是代码突然停止了工作(甚至与Azure Devops在其文档中提供的示例相同)。
我试图撤消现有的PAT并生成新的PAT,但仍然没有效果。
public static async void PrintBuilds()
{
try
{
var personalaccesstoken = "PAT";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalaccesstoken))));
using (HttpResponseMessage response = client.GetAsync(
"https://dev.azure.com/{Organization}/{Projcet}/_apis/build/builds?api-version=5.0").Result)
{
esponse.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
我希望获得JSON输出,但是我会收到HTTP状态302,即重定向到visualstudio.com登录页面-这可能表明我的PAT有问题...
答案 0 :(得分:0)
此代码建议您不要将用户名传递给auth标头,而应该这样做,这是我的powershell代码如下:
$pat = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("user@domain:$token"))