我正在编写一个窗口的应用程序,用于从个人和工作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 -...
答案 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/