1

我正在尝试使用 ADAL 库访问 Office365 REST API,但得到 401(未经授权),但不知道为什么。我在我们的 Azure AD 中注册了一个应用程序,获得了一个 ID,为它获取了一个密钥,并授予它读取 Windows Azure Active Directory 的权限。

我能够获取 OAuth 令牌,但它不能与 Office365 API 一起使用。

这是我不成功的尝试之一:

  AuthenticationContext auth = new AuthenticationContext("https://login.windows.net/" + myTenant);
  AuthenticationResult authenticationResult = auth.AcquireToken("http://Rest", new ClientCredential(myId, myKey));
  HttpClient client = new HttpClient();
  client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authenticationResult.AccessToken);
  HttpResponseMessage msg = await client.GetAsync("https://outlook.office365.com/api/v1.0/me/events");
  // => Bam. 401. :(

有任何想法吗?

4

1 回答 1

2

您传递给的资源 IDAcquireToken无效。那应该是"https://outlook.office365.com/"。看看是否有帮助。如果没有,请尝试解析您的令牌并查找问题:https ://github.com/jasonjoh/office365-azure-guides/blob/master/ValidatingYourToken.md

于 2015-04-15T13:26:23.313 回答