azure – 如何在没有用户交互的情况下授权服务使用Microsoft Gra
我希望我的服务器应用程序使用Microsoft Graph与它自己的Excel文件进??行交互.也就是说,文件属于应用程序,而不属于应用程序的特定用户.
我已使用Azure ID注册了一个应用程序,并授予了Microsoft Graph的“对用户可以访问的所有文件具有完全访问权限”权限. 我正在尝试使用OAuth资源所有者密码凭据授予. 我可以获得这样的授权令牌: POST https://login.microsoftonline.com/common/oauth2/token Content-Type: application/x-www-form-urlencoded grant_type=password &resource=https://graph.microsoft.com &client_id=<ID of application registered with Azure AD> &username=<Microsoft username> &password=<password>&scope=Files.ReadWrite.All 但响应仅表示范围User.Read: { "token_type": "Bearer","scope": "User.Read","expires_in": "3600","ext_expires_in": "0","expires_on": "1494467388","not_before": "1494463488","resource": "https://graph.microsoft.com","access_token": "eyJ0e...","refresh_token": "AQAB..." } 当我尝试列出帐户的One Drive中的文件时,我没有收到错误,但响应中没有包含任何项目: Request: GET https://graph.microsoft.com/v1.0/me/drive/root/children Authorization: bearer eyJ0e... Response: { "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('<account ID>')/drive/root/children","value": [] } 当我使用同一帐户登录时在Graph Explorer中发出相同的请求时,响应包括该帐户的一个驱动器根目录中的所有项目. 我了解Microsoft Graph目前不支持仅应用程序文件访问,当通过OAuth客户端凭据授权授权时(根据calling Microsoft Graph in a service的说明),但由于我获得了特定用户帐户(不仅仅是应用程序)的授权,我希望获取对该用户文件的访问权限. 我做错了什么,或者使用资源所有者密码凭据授予不支持文件访问? 如果是后者,我怎样才能实现允许我的应用程序使用用户凭据通过Microsoft Graph操作Excel文件而无需用户交互? 更新: 我已将管理员权限分配给我正在使用的帐户,并在Azure门户中重新设置Microsoft Graph的应用程序权限,但它仍然不适用于我. 以下是我使用的帐户的详细信息: 解决方法
在Microsoft Graph授予“对用户可以访问的所有文件具有完全访问权限”权限后,请尝试单击“必需权限”刀片中的“授予权限”(更好地使用管理员帐户):
在使用资源所有者密码流获取令牌之后,您将在scp声明中找到Files.ReadWrite.All.然后你可以调用microsoft graph api来列出文件. 更新 以下是我如何使资源所有者流程工作的步骤: >注册本机应用程序,添加“具有用户可以访问的所有文件的完全访问权限”Microsoft Graph的委派权限(不要单击授予权限按钮,如上图所示).使用资源所有者密码凭据授予并获取访问令牌,只能在scp声明中找到User.Read: 邮编https://login.microsoftonline.com/common/oauth2/token (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- vs2015+qt5.9.7配置跨平台的工程
- Win10环境下配置VScode的C++编译环境
- Windows Phone – 以编程方式获取手机口音刷C#
- windows – Git:Diff不处理UTF-8以外的字符编码?
- windows – 笔记本电脑备份软件(企业)?
- windows – lastLogon与Active Directory中的lastLogonTime
- 在Windows 10中的HTTP.SYS和IIS中禁用HTTP / 2 / SPDY
- windows-7 – Windows 7 – 组策略 – 允许保存RDP凭据
- 许可 – 如何获取安装文件以与批量许可证或与Microsoft的企
- 如何在Windows上保存Emacs中的剪贴板内容?
- windows-server-2008 – 新服务器(IIS7 / Window
- windows-8 – 使用AngularJS for Windows Store
- SecureCRT版本6不能启动原因是
- 导入包含Windows中的二进制BLOB的大型MySQL转储文
- windows-7 – 如何让Windows 7壁纸正确显示公司徽
- windows7环境下的http-server的问题 排查
- 如何在windows中查看正在执行的java程序的classp
- windows – 如何管理服务帐户凭据(密码)?
- windows-server-2016 – 如何在Windows Server 2
- 在Windows 8上使用gem安装SASS