首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Microsoft graph API获取OneDrive中的所有文件夹

基础概念

Microsoft Graph API 是 Microsoft 365 中的一个 RESTful API,它允许开发者访问和操作 Microsoft 365 中的数据,包括 OneDrive、Outlook、Teams 等服务。通过 Graph API,你可以获取、创建、更新和删除 OneDrive 中的文件和文件夹。

相关优势

  1. 集成性:Graph API 提供了对 Microsoft 365 各种服务的统一访问接口,简化了开发者的集成工作。
  2. 安全性:支持 OAuth 2.0 认证,确保数据的安全性和隐私保护。
  3. 实时性:可以实时获取和更新数据,适用于需要实时数据的应用场景。
  4. 灵活性:提供了丰富的 API 接口,可以满足各种复杂的需求。

类型

  • 文件和文件夹操作:包括获取、创建、更新和删除文件和文件夹。
  • 用户和组管理:包括获取用户信息、创建和管理用户组等。
  • 邮件和日历操作:包括发送邮件、管理日历事件等。

应用场景

  • 企业应用:用于企业内部的文件管理和协作工具。
  • 第三方应用集成:将 Microsoft 365 的功能集成到第三方应用中。
  • 自动化工具:用于自动化文件处理和数据迁移等任务。

获取 OneDrive 中的所有文件夹

步骤

  1. 获取访问令牌:使用 OAuth 2.0 获取访问令牌。
  2. 调用 Graph API:使用获取到的访问令牌调用 Graph API 获取 OneDrive 中的文件夹列表。

示例代码

代码语言:txt
复制
import requests

# 获取访问令牌(示例代码,实际需要根据 OAuth 2.0 流程获取)
access_token = "your_access_token_here"

# 调用 Graph API 获取 OneDrive 中的文件夹列表
headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/json"
}
url = "https://graph.microsoft.com/v1.0/me/drive/root/children"
response = requests.get(url, headers=headers)

if response.status_code == 200:
    folders = response.json().get("value", [])
    for folder in folders:
        if folder["folder"] is not None:
            print(f"Folder Name: {folder['name']}")
else:
    print(f"Error: {response.status_code} - {response.text}")

参考链接

常见问题及解决方法

  1. 访问令牌获取失败
    • 确保你的应用程序已正确注册,并且客户端 ID 和密钥正确。
    • 检查 OAuth 2.0 流程是否正确实现。
  • 权限不足
    • 确保你的应用程序具有足够的权限来访问 OneDrive 中的数据。
    • 在 Azure AD 应用程序注册中配置正确的权限范围。
  • API 调用失败
    • 检查请求头和 URL 是否正确。
    • 查看响应状态码和错误信息,根据错误信息进行调试。

通过以上步骤和示例代码,你应该能够成功获取 OneDrive 中的所有文件夹。如果遇到具体问题,请参考相关文档或联系 Microsoft 支持团队获取帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PowerBI从Onedrive文件夹获取多个文件,依然不使用网关

整个过程PQ底层逻辑很清楚,使用一个示例文件作为函数,然后用这个函数遍历文件夹所有文件,最终将结果合并到一张表: ? 发布到云端,还是遇到相同问题,需要安装并打开网关: ?...SharePoint.Contents获取是根目录下所有文件夹和文件: ? Onedrive全部文件都在documents里,可以导航获取文件夹内容: ? 很显然,这符合我们要求。...获取Onedrive所有文件夹,接下来导航到自己想要文件夹,然后合并文件即可: ? 这样就得到了合并文件内容: ?...原因是我在测试过程,PQ出现一个错误给提示: ? 所以,要直接获取文件就填写实体url,要获取文件夹使用根目录url。 不过,直接使用根目录其实还有一个隐藏好处。...正如在这篇文章: 从Power BI“最近使用源”到盗梦空间“植梦” 如果将所有的excel文件都放在onedrive(强烈建议这么做),那么之后我们再想往模型添加excel文件,只需要点击最近使用

6.9K41

Cloudflare Workers部署Onedrive直链程序并实现反代下载

OI1.png 注册时会要求填写应用程序名以及调整一些设置,应用程序名任意填写即可,把“受支持账户类型”调整为第三项“所有 Microsoft 帐户用户”,重定向URL改为Web,网址填写https:...//heymind.github.io/tools/microsoft-graph-api-auth并点击注册。...点左侧Microsoft Graph,然后在弹出框添加入offline_access, Files.Read, Files.Read.All这三个权限,最后点击更新权限即可。...然后我们进入Microsoft Graph API Auth来获取一个token。 OI9.png 复制之后,我们回到token获取工具,看到4....全部填好后,再看第13行base(代表显示根目录),一般我们该为/,就是直接显示OneDrive根目录,如果需要显示你OneDrive内某个特定目录,在这里填你需要显示文件夹名称即可。

6.5K40
  • 微软揭露针对以色列 POLONIUM 组织攻击活动

    dha 尽管 OneDrive 会对所有上传文件进行扫描,但 POLONIUM 并未使用 OneDrive 存储恶意软件,只是与合法用户相同方式与云服务进行交互。  ...获取 OAuth 令牌 攻击者在样本内置了 Refresh Token,这是 OAuth 2 规范一部分,允许在过期后发布新 OAuth Token。...使用该 OAuth Token 就可以向 Microsoft Graph API 请求(https://graph.microsoft.com/v1.0/me/drive/root:/Documents...通过 OneDrive 下载文件,请求结构为https://graph.microsoft.com/v1.0/me/drive/root:/Downloaded/???:/content。...数组每个值都单独作为参数传递给以下自定义函数,该函数使用 Invoke-Expression cmdlet 运行命令: △自定义函数 每个命令执行结果都会收集起来,发送到 OneDrive以下位置

    1.1K20

    onedrive for business使用python上传文件

    API 终结点 URL OneDrive for Business 资源访问令牌 在当前令牌到期时生成其他访问令牌刷新令牌。...开始对接 客户端id和密钥使用过oneindex小伙伴应该都知道怎么设置,这里就不多介绍,除此之外设置一个回调uri就可以了,我使用是“localhost:8400” 获取access_token...onedrive for business使用是标准Oauth2流程,所以大概流程就是先获取code,使用code交换access_token,然后就可以调用api了,这里先贴出获取code以及交换...终结点是https://graph.microsoft.com onedrive请求api是https://graph.microsoft.com/v1.0/me/drive,但是文档以及网上教程写是...https://graph.microsoft.com/me/drive,这也是我认为比较坑一点 secret需要复制“值”,而不是“机密ID” 完整代码 此处内容需要评论回复后方可阅读 使用实例 1

    4.4K50

    全新OneDrive时代:AI与生产力

    更智能搜索体验:改进搜索功能让您能轻松找到重要内容。通过新筛选控件和详细结果,可以快速找到所需文件或文件夹,不论它们存储在 OneDrive、共享库还是团队成员文件夹。...用彩色文件夹为您工作流带来活力:OneDrive 现支持在 Windows File Explorer 自定义彩色文件夹,让您以鲜艳色调组织文件。...使用 Copilot 实现智能 今天标志着一个新里程碑,Copilot 在 OneDrive 到来,现在可供所有商业客户使用。...将于 2024 年底提供公共预览版 Microsoft Graph 数据连接 (MGDC):我们通过将 OneDrive Sync Health Reports 与 MGDC 集成来改进它们,允许管理员将数据导出到...无论您是在寻找特定回忆还是重温珍贵时刻,OneDrive 新照片体验都会将您照片放在您使用所有平台上前沿和中心位置。

    15810

    如何使用PQ获取目录下所有文件夹名(不含文件和子目录)

    今天想把之前发布Power BI示例文件文件夹做一个表出来,只获取该目录下所有文件夹名,并不包含其中各种文件和子目录。 ? 因为每个文件夹中都包含多个文件,甚至还有子文件夹: ?...所以如果直接用“从文件夹获取数据”方式,PowerQuery会使用Folder.Files函数: ? Folder.Files会将所选目录下所有文件路径罗列出来: ?...当然,其实可以通过一系列pq操作将文件夹名都筛选出来,实现我目的。 不过,这样其实有个小问题,如果有一些文件夹我还没有在里面保存文件,也就是空文件夹,那么它就不会出现在列表: ?...这样我们就得到了根目录下所有文件夹名,和文件名。尤其是,空文件夹这里也出现了。 接下来就是从列表只返回文件夹名。...再筛选TRUE行: ? 意思是查看属性,然后筛选那些是“目录”行。 这样,就将该目录下所有文件夹获取到了。

    7.1K20

    office365 E5调用api使E5开发者续订 修复版AutoApi (不使用服务器)

    最近e5订阅很火,但是玄学续订方式也让人摸不着头脑,有的人说挂个oneindex就续订了,有的人说所有第三方程序都挂了一遍也没续订,所以有人按照微软官方文档写了一个刷api脚本,原理很简单,就是重复调用...microsoft graphapi,一次调用10个api,5个onedriveapi还有4个outlookapi,剩下一个是组api,调用一次后延时等待五分钟再重复调用。...再点上方新注册就会跳出一个新建应用界面,应用名字随意填写,然后选择任何组织目录(任何 Azure AD 目录 – 多租户)帐户,重定向url选web,填入http://localhost:53682...记录ID 下面会用到 点击左边管理证书和密码,点击+新客户端密码,点击添加,复制新客户端密码值 记录这个值 下面会用到 点击左边管理API权限,点击+添加权限,点击常用Microsoft...APIMicrosoft Graph(就是那个蓝色水晶), 点击委托权限,然后在下面的条例搜索以下12个 最后点击底部添加权限 Calendars.ReadWrite 、 Contacts.ReadWrite

    7.1K11

    PwnAuth——一个可以揭露OAuth滥用利器

    API——资源 客户端希望访问目标应用程序。在本例Microsoft OneDrive API 终端是资源。 资源拥有者 允许访问其部分帐户的人员。在本例,就是你。...授权服务器 授权服务器提供资源所有者用来同意或拒绝接口。服务器可以与API资源相同,或者是另一个不同组件。在本例Microsoft登录门户是“授权服务器”。...访问令牌可以在设定时间段内使用,从API资源访问用户数据,而无需资源所有者采取任何进一步行动。...攻击者可能会创建恶意应用程序,并使用获取访问令牌通过API资源获取受害者帐户数据。访问令牌不需要知道用户密码,并能绕过双因素认证。...虽然任何允许OAuth应用程序云环境都可以成为目标,但是PwnAuth目前使用一个模块来支持恶意Office 365应用程序,捕获OAuth令牌并使用捕获令牌与Microsoft Graph API

    1.7K20

    鼠标悬停也能中招!带毒PPT正用来传播Graphite恶意软件

    据Bleeping Computer网站消息,俄罗斯黑客已经开始使用一种新代码执行技术,该技术依赖于 Microsoft PowerPoint 演示文稿(PPT)鼠标移动来触发恶意 PowerShell...Cluster25 详细说明了新获取文件每个字符串都需要不同 XOR 键来进行反混淆。生成有效负载是可移植可执行 (PE) 形式 Graphite 恶意软件。...Graphite 滥用 Microsoft Graph APIOneDrive ,与命令和控制 (C2) 服务器通信。...攻击者通过使用固定客户端 ID 访问服务以获取有效 OAuth2 令牌。...【Graphite 使用固定客户端 ID】 研究人员解释说,使用 OAuth2 令牌,Graphite 通过枚举 check OneDrive 子目录子文件来查询 Microsoft GraphAPI

    1.2K20

    微软E5开发者版

    选择国家(关系到OneDrive数据等存储位置)。填写域、用户名和密码,后面使用用户名@域.onmicrosoft.com进行登陆。...如我这里设置用户名是admin,域是naraku,那么后面就可以使用admin@naraku.onmicrosoft.com进行登录 ?...配置API 前面的应用程序(客户端)ID和客户端密码值都记录好后,下面进行API配置 点击左侧API权限,添加权限然后选择Microsoft Graph ?...添加Key到自动订阅 进入E5续订程序,点击Github图标进行登陆并授权 此处只能获取你在Github用户id、用户名等基础信息(邮箱获取不了),其他任何信息也获取不到 然后自动跳转到授权页面...这里可以修改为5T 访问OneDrive管理中心,修改默认存储为5120GB,点击保存即可 刚刚创建E5可能会显示出错,隔一段时间再配置即可。

    2.6K40

    Power Query Google Sheets连接器!

    在Power BI 11月更新,Power Query团队为我们带来了一个新连接器:Google Sheets连接器 https://powerbi.microsoft.com/en-us/blog...Power BI 桌面"获取数据",然后选择"更多",搜索Google 第三步:填写复制url,点击确定 第四步:在弹窗登录账号 登陆成功的话,会看到如下提示框,关闭即可。...第五步:剩下所有的操作与从本地或者onedrive获取文件完全一致: 第六步:发布到web,设置数据源凭据,点击“编辑凭据” 结果出现: 云端powerbi账号使用是世纪互联版。...那么可以猜想,问题基本上和之前遇到"世纪互联版powerbi从国际版onedrive获取文件云端无法刷新"是完全一致。...而且,暂时也不能像在Onedrive获取文件夹那样直接获取一个Google文档文件夹: PowerBI从Onedrive文件夹获取多个文件,依然不使用网关 但是我们发现Google Sheet连接器用

    6K10

    针对“PowerBI从Onedrive获取文件”两篇文章做个补充

    昨天和前天发两篇文章: Power BI刷新避免使用网关,蚊子肉也是腿,电费也是钱 PowerBI从Onedrive文件夹获取多个文件,依然不使用网关 有不少朋友表示很受用。...当然,一定还会有很多其他更需要这个功能应用场景,等待我们一起去挖掘。 直接从onedrive获取文件或文件夹思路非常好,不过,在配置过程,总会遇到各种各样问题。...而获取onedrive文件夹,我们需要在Microsoft账户中进行登录: ?...而从文件夹获取数据,我们使用是SharePoint.Contents函数,这明显是微软自家孩子,所以标题是“SharePoint”,自然需要登录是“Microsoft账户”。...但是一旦使用云端,Power BI服务器国内国外是不同onedrive也是不同,两者是处于隔离状态。 因此,无法使用世纪互联版Power BI去获取国际版onedrive文件夹,反之亦然。

    2.8K20

    微软为OneDrive和SharePoint带来了自动转录和计算机视觉功能

    微软今天宣布计划向使用OneDrive和SharePointMicrosoft 365客户推出一系列AI服务。今年下半年,用户将能够从所有音频和视频文件获得自动转录。...这利用了微软今年早些时候预览相同语音到文本转录服务。 当在OneDrive或SharePoint查看文件时,转录文本将自动显示在文件旁边。...如果视频随后通过Stream与同事共享,则还可以部署面部识别以区分视频或视频会议参与者。 即将推出还有OneDrive或SharePoint文件搜索计算机视觉。...之后几个月,微软还将为OneDrive和Office.com主页引入新文件查看选项,该主页根据你需要推荐文件。...根据今天发布消息,“建议文件基于Microsoft Graph智能及它对你工作方式、与你合作的人以及与你共享Microsoft 365内容活动理解。”

    75930

    从Power Automate到Power BI实时流数据集:翻山越岭问题解决

    了解PowerAutomate已经有较长时间,但是一直没有尝试过,最近刚好手头一个略微复杂问题,Trello和Microsoft to-do同步,发现在PA竟然有现成模板可以直接同步,就认真研究了两天...史上最速Power BI账户获取 Power BI新用户手把手注册指南 还有很早之前研究Onedrive历程,其中Onedrive for business已经妥妥解决: Power BI刷新避免使用网关...,蚊子肉也是腿,电费也是钱 PowerBI从Onedrive文件夹获取多个文件,依然不使用网关 针对“PowerBI从Onedrive获取文件”两篇文章做个补充 慎用SharePoint.Files...”到“云端下载PBIX文件限制条件” 【重磅】PowerBI从Onedrive个人版获取文件 但是从onedrive personal获取文件夹始终没有解决,搜遍了全网包括外网也都没有任何思路。...思路就是将onedrive personal文件同步到Onedrive for business某一个文件夹里,再进行同步。看上去,这不是闲扯淡吗?

    2K30

    好物分享31-用教育或开发者账户白嫖onedrive并做你同步盘

    之前通过[[24-白嫖5T_OneDrive网盘,通过Office365_E5开发者订阅]] 及[[25-通过设置API实现无限续期开发者onedrive账户]] 账户。...个人云储存空间-Microsoft OneDrive登录下载使用 | OneDrive[1] 使用onedrive 下载应用登录之后,onedrive 就需要指定一个同步盘位置。...这样好处在于,你可以比较方便随时进行同步;但坏处是,你很难记得要在坚果云目录下或是云端目录下整理你文件夹。...在大学生申请onedrive微软账户获得1T云空间 - 知乎 (zhihu.com)[5] ,作者提到了使用edu 邮箱申请方法。...参考资料 [1] 个人云储存空间-Microsoft OneDrive登录下载使用 | OneDrive: https://www.microsoft.com/zh-cn/microsoft-365/onedrive

    3.1K30

    OneDrive网盘极简目录列表程序OneList

    前言 OneList主要特色就是解决了因OneDrive API抽风导致很多问题,稳定性和访问速度都是不错。...支持同时列出多个盘目录。(要求每个盘SubPath唯一) 支持文件夹内超过200个项目。 支持后台自动刷新缓存。 支持路径中含有特殊字符。 数据储存在内存,响应更加迅速。...OneDrive by Microsoft. Shell 复制 4、生成配置文件 #国际版,将url换成你上面复制授权地址,包括http://loaclhost。 ....设置为`RootPath`目录映射在`http://127.0.0.1:5288/onedrive` 下. // (只推荐一个盘位时候使用根目录"/".)...(支持根目录"/") "RootPath": "/Test", // 隐藏OneDrive目录文件夹和文件, 条目间使用 "|" 分割. (跳过缓存设置条目.)

    2.5K40

    好物分享25-通过调用API实现自动续期开发者onedrive账户

    接下来如果能保持这美妙时刻就好了。 然而,和免费云存储一样,onedrive 也会对开发者域名进行回收。...无限续期原理是多次调用API来达到让microsoft认为你是开发者,然后给你白嫖(自动续期)E5效果。所以续订不是100%成功,要看巨硬心情。 这里尝试其中一种续期方法。...e5.qyi.io 项目实现无限续期 参见:E5续订 (qyi.io)[5] 这里按照作者建议: 1-分配E5子账户 进入仪表盘:仪表板 - Microsoft 365 开发人员中心[6] 如果你开发者账户需要使用...,比如邮件功能,最好还是分配一个子账户,以确保隐私,可以看看:如何创建|分配Office E5子账号 - 知乎 (zhihu.com)[7] 这里我直接用之前获取账户。...这里创建后就复制下来,否则后面就无法查看了: 点击API权限->添加权限->应用程序权限->Microsoft Graph: 搜索Mail 后添加相关权限: 3-登录E5续订项目 E5续订 (qyi.io

    4.6K10

    GoIndex&GdIndex 两个无需服务器Google Drive目录索引程序

    GDindex 首先肯定是需要一个谷歌网盘,这里直接使用goindex提供快速部署方法,由于使用是rclonegoogle api,高峰期难免会出现点问题,后面也会说下使用自己api部署方法...域名后面需加/* 如https://gd.laomoe.com/* 可选-API部署 这里也可以使用自己API部署,好处就是安全点,高峰期也不容易爆炸,当然安装会麻烦点,如果不经常使用的话,还是建议用上面的方法快速部署...1、获取GDrive客户端 先启用Google Drive API,启用地址:点击进入,注意这里使用个人账号操作。 再创建一个OAuth client ID,创建地址:点击进入。...Azure Blob Storage \ "azureblob" 20 / Microsoft OneDrive \ "onedrive" 21 / OpenDrive \ "opendrive...,部分修改可参考上面,不同是,需要填上自己api信息,如下: 填上自己api客户端,密匙和获取refresh_token “client_id”:“20226481”, “client_secret

    2.2K20

    Microsoft Office 2010详细安装步骤--microsoft office 2010密钥在哪

    Microsoft Office,可以使用OneDrive应用程序进行文件存储和共享。...创建一个新文件夹:在OneDrive,可以创建一个新文件夹来组织文件。可以使用“新建文件夹”按钮来创建一个新文件夹,并为其命名。...上传文件:可以使用OneDrive“上传”功能将文件上传到OneDrive。可以将文件从计算机文件夹拖放到OneDrive文件夹,或使用“上传”按钮来选择要上传文件。...共享文件:可以使用OneDrive共享功能将文件共享给其他人。可以选择要共享文件,并使用“共享”按钮来创建共享链接或将文件共享给其他OneDrive用户。...访问文件:可以使用OneDrive网页界面或桌面应用程序来访问OneDrive文件。可以从任何计算机或设备上登录到OneDrive账户,并访问存储在OneDrive文件。

    1.1K20
    领券