作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我正在控制台应用程序(Visual Studio 2015)中工作以获取组成员详细信息(邮件 ID 和姓名)。为此,我进行了大量搜索以获取应用程序中的 Microsoft Graphs 输出。我找到了一个document其中表示将我的应用程序注册到 Azure 门户中。但我不想这样做。我试图实现我的以下想法。
我可以在 Graph Explorer 中获得所需的输出。如果我在浏览器中使用相同的 API URL 意味着我会收到以下错误。
{
"error": {
"code": "InvalidAuthenticationToken",
"message": "Bearer access token is empty.",
"innerError": {
"request-id": "823434fb-a2cc-44a7-9bb7-1249c02f54a5",
"date": "2017-02-24T09:45:05"
}
}
}
例如,如果我在图形浏览器输入框中使用以下 URL,则意味着我得到了所需的输出。但如果我在浏览器的 URL 框中使用相同的 URL,则会出现错误。
https://graph.microsoft.com/v1.0/groups/922345b-4sc6-443c-ac69-02bh73536570/members?$top=900&$select=id,displayName
该图形浏览器 URL 在普通浏览器中是否有效?如果是的话意味着我该怎么做?
更新
我尝试使用以下代码获取输出
string URL = "https://graph.microsoft.com/v1.0/groups/922345b-4sc6-443c-ac69-02bh73536570/members?$top=900&$select=id,displayName";
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
client.BaseAddress = new System.Uri(URL);
byte[] cred = UTF8Encoding.UTF8.GetBytes("<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a5c8c4ccc9ccc1e5c1cac8c4cccb8bc6cac8" rel="noreferrer noopener nofollow">[email protected]</a>:mypassword");
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(cred));
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage messge = client.GetAsync(URL).Result;
string result = messge.Content.ReadAsStringAsync().Result;
但是我在字符串结果
中得到了以下输出
{
"error": {
"code": "InvalidAuthenticationToken",
"message": "CompactToken parsing failed with error code: -2147184105",
"innerError": {
"request-id": "8gd6720-d558-4bbd-a0b8-fd098gw30f0b",
"date": "2017-02-24T11:03:34"
}
}
}
有什么不同的方法或者有什么错误吗?
最佳答案
您必须在 AAD 中注册应用程序并获取不记名 token - 图形 API 不支持基本身份验证,而这正是您的代码所做的。您链接的文档将引导您完成整个过程。
关于c# - 如何在我的控制台应用程序中获取 Microsoft 图形结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42437056/
我是一名优秀的程序员,十分优秀!