当前位置: 首页 > 知识库问答 >
问题:

使用Microsoft graph api读取OneDrive文件

储国发
2023-03-14

我正在尝试使用Microsoft图形应用编程接口访问我的OneDrive(个人帐户)文件,但无法使其正常工作。我已经阅读了好几天了,但运气不好。我正在使用“客户端凭据流”。我在应用程序注册门户中创建了一个应用程序,并设置了应用程序权限。获取令牌可以正常工作,但当我尝试使用此令牌读取OneDrive的根时,它会显示“拒绝访问”、“令牌中需要存在scp或角色声明”。当我使用v2.0版本获取令牌,然后使用v1.0版本访问OneDrive时,就会发生这种情况。即,我使用此URL获取令牌:https://login.microsoftonline.com/common/oauth2/v2.0/token,并使用此URL获取OneDrive根:https://graph.microsoft.com/v1.0/drive/root?$扩展=缩略图,子级($扩展=缩略图)

当我做“授权代码流程”时,它工作正常。

会有什么问题呢?

共有1个答案

毕嘉
2023-03-14

对于个人帐户和与个人帐户关联的数据(如个人OneDrive),仅支持委托(授权代码流)。此处不支持客户端凭据流。只有商业(Azure AD)方案才支持客户端凭据流。

关于为什么需要针对个人OneDrive使用客户端凭据流(与授权代码流相比),您是否有特定的场景?

希望这有帮助,

 类似资料:
  • 我正在尝试使用microsoft graph检查是否已签出一个onedrive文件。根据文件https://learn.microsoft.com/en-us/onedrive/developer/rest-api/resources/driveitem,存在DriveItem的发布属性。但默认情况下不返回此属性。但是文档没有提到如何检索此属性。

  • 我是微软图形API的新手。我们的应用程序要求根据预期主题收集最新电子邮件,并收集电子邮件附件(CSV格式)。 当使用下面的查询时,但是使用2个GET请求时,这已经很好了: 首先是收集最新的电子邮件: https://graph.microsoft.com/v1.0/me/messages?$select=id,有附件 第二种是通过传递从第一个查询返回的id来收集附件: https://graph.

  • 我使用OpenCSV进行CSV文件的读写。在I hsd安装早期版本的Java(即Java 6)之前,它工作得很好。安装完之后,我的代码就停止工作了: 线程“main”java.lang.UnsupportedClassVersionError:COM/OpenCSV/CSVReader:不支持Major.Minor版本51.0在java.lang.ClassLoader.DefineClass1(

  • 问题内容: 我如何阅读像android app中的文本文件: 所以我可以返回一个字符串,如: 我想到的是(伪代码): 问题答案: 试试这个

  • 问题内容: 我在使用BufferedReader时遇到问题 我想打印一个文本文件的6行: 现在,从每次调用readLine()方法可以收集到的信息开始,它都会自动前进到下一行。 所以我不能使用条件br.readLine()!= null,因为它已经将其前进了一行,并且我得到了输出: 我使用什么条件来检查文本字段中是否还有新行。 提前致谢! 问题答案: 这就是问题: 您有两次调用-第一个 仅 检查是

  • 问题内容: 我需要在终端中传递一个文本文件,然后从中读取数据,我该怎么办? 如何从终端进入路径,如何在另一侧阅读? 问题答案: 您将要使用数组访问命令行参数以获取文件名,并使用FileSystem模块(fs)来读取文件。例如: 为了稍微分解一下,通常长度为2,第零个为“节点”解释器,第一个为节点当前正在运行的脚本,其后的项目在命令行中传递。从argv中提取文件名后,就可以使用文件系统函数读取文件并