我已将我的应用转换为不再使用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,无论如何),提示用户允许某些权限。我从来没有看到德国云的页面出现。
我们的管理员查看了microsoft开发者控制台中的应用程序配置,它当然似乎拥有访问用户驱动器所需的权限:
我有办法验证我有权访问哪些权限(通过API)?我有什么其他选择来调试它?
答案 0 :(得分:0)
Welp ......看起来这可能只是我的错误,尽管我并不完全确定。
我注意到我正在错误地构建URL:
https://graph.microsoft.de/v1.0/me/drive
应该是
https://graph.microsoft.de/v1.0/drive
但它似乎在全球云中工作,而不是在德国云中,所以我对此仍感到有些困惑。