【发布时间】:2019-10-24 21:39:29
【问题描述】:
我在 AzureAD 中创建了我的应用程序,并获得了“Azure DevOps”权限。
下面是我从 Azure DevOps 获取项目列表的代码
using (HttpClient client = new HttpClient())
{
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, "https://login.microsoftonline.com/21d63aec-6502-4638-98f3-04587e69d53b/oauth2/v2.0/token");
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Dictionary<String, String> form = new Dictionary<String, String>()
{
{ "grant_type", "client_credentials" },
{ "client_id", "ac313ad2...." },
{ "scope", "https://app.vssps.visualstudio.com/.default" },
{ "client_secret", "BX0RldhqL...." }
};
requestMessage.Content = new FormUrlEncodedContent(form);
HttpResponseMessage responseMessage = client.SendAsync(requestMessage).Result;
if (responseMessage.IsSuccessStatusCode)
{
String body = responseMessage.Content.ReadAsStringAsync().Result;
JsonConvert.PopulateObject(body, tokenModel);
}
}
using (ProjectHttpClient projectHttpClient = new ProjectHttpClient(new Uri("https://dev.azure.com/AlfabetChennaiDev"), new VssOAuthAccessTokenCredential(tokenModel.AccessToken)))
{
IEnumerable<TeamProjectReference> projects = projectHttpClient.GetProjects().Result;
}
但我收到错误消息“您无权访问https://dev.azure.com。”
我正在使用 oAuth 2.0 客户端凭据流来获取访问令牌。 可能是什么原因
【问题讨论】:
-
当我在谷歌上搜索时,我偶然发现了微软开发者社区上的这些帖子,也许这可以帮助你。他们有一些建议。 developercommunity.visualstudio.com/content/problem/370982/…developercommunity.visualstudio.com/content/problem/222842/…
-
对于您现在已删除的问题,stackoverflow.com/questions/6428940/…。考虑在某个时候进行编辑和取消删除。
标签: azure-devops