错误请求 - 个人onedrive帐户 - https://graph.microsoft.com/v1.0/me/drive/root/children

时间:2016-11-03 17:25:43

标签: office365 microsoft-graph onedrive

我正在编写一个窗口的应用程序,用于从个人和工作onedrive帐户下载文件。

同样的请求适用于工作帐户,但不适用于个人帐户。

不确定这是否与设置有关。

个人帐户的重定向网址为login.live.com/oauth20_desktop.srf。

身份验证通过以下方式完成:login.microsoftonline.com/common/oauth2 /

申请个人和工作帐户: requestMessage = {Method:GET,RequestUri:'https://graph.microsoft.com/v1.0/me/drive/root/children?pretty=false',Version:1.1,Content :, Headers: {   授权:bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IkFRQUJBQUFBQUFEUk5ZUlEzZGhSU3JtLTRLLWFkcENKVm1pX2Fvb1NzcThPZ1g ...

来自个人帐户的回复: httpResponse = {StatusCode:400,ReasonPhrase:'Bad Request',Version:1.1,Content:System.Net.Http.StreamContent,Headers: {   转移编码:分块   request-id:843007b8-ebe4-4c9c-b260-d2a92512b672   client-request-id:843007b8-ebe4-4c9c-b260-d2a92512b672   ...

来自工作帐户的回复:

httpResponse = {StatusCode:200,ReasonPhrase:'OK',版本:1.1,内容:System.Net.Http.StreamContent,标题: {   转移编码:分块   变化:接受编码   request-id:a27688cb-fc5f-4e8c-8a9b-7a3ce1e4c98c   client-request-id:a27688cb-fc5f-4e8c-8a9b -...

1 个答案:

答案 0 :(得分:2)

如果要将Microsoft Graph与个人和企业OneDrive一起使用,则需要使用Azure Active Directory OAuth v2端点

https://login.microsoftonline.com/common/oauth/v2.0/authorize
https://login.microsoftonline.com/common/oauth/v2.0/token

这些将处理确定用户是个人帐户还是工作帐户,然后获取Microsoft Graph可以使用的访问令牌。

有更多详情可供参考:https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-protocols-oauth-code/