【发布时间】:2018-03-01 22:52:09
【问题描述】:
我已将我的应用程序转换为不再使用 Discovery 服务,而仅使用 Graph API,以便它可以在德国云 (https://github.com/OneDrive/onedrive-api-docs/issues/663#issuecomment-349127273) 中运行。该应用程序在标准云中正常运行,但在德国云中无法正常运行。我认为这是一个权限问题。
具体来说,授权步骤好像都可以,可以成功访问https://graph.microsoft.de/v1.0/me
{
"@odata.context" => "https://graph.microsoft.de/v1.0/$metadata#users/$entity",
"id" => "blah",
"businessPhones" => [],
"displayName" => "...",
"givenName" => "...",
"jobTitle" => nil,
"mail" => "...",
"mobilePhone" => nil,
"officeLocation" => nil,
"preferredLanguage" => "en-us",
"surname" => "...",
"userPrincipalName" => "..."
}
但我收到 https://graph.microsoft.de/v1.0/me/drive 的 404 错误
{
"error" => {
"code" => "UnknownError",
"message" => "404 FILE NOT FOUND",
"innerError" => {
"request-id" => "f35e17ff-b248-47cd-a81c-69c38275b1da",
"date" => "2018-03-01T22:41:13"
}
}
}
我注意到的另一件事是:在通过 graph.microsoft.com 的登录流程时,它包括转到 https://login.microsoft.com/common/oauth2/authorize(无论如何我认为这是 url),提示用户允许某些权限。我从来没有看到德国云的页面出现。
我们的管理员查看了微软开发者控制台中的应用程序配置,它似乎确实拥有访问用户驱动器所需的权限:
- SharePoint Online --> 读写用户文件
- Microsoft Graph --> 拥有用户可以访问的所有文件的完全访问权限
有没有办法让我验证我有权访问哪些权限(通过 API)?我还需要什么其他选项来调试它?
【问题讨论】:
标签: office365 microsoft-graph-api office365api