---
id: "asgard-ext-onedrive"
lang: "zh-TW"
name: "OneDrive"
vendor: "Microsoft"
product: "OneDrive / SharePoint"
category: "documents"
summary: "讓 Agent 讀 OneDrive 的文件：設計部署時先盤點，上線後每位終端用戶讀自己的檔案。"
url: "https://www.asgard-ai.com/zh/extensions/asgard-ext-onedrive"
docs: "https://learn.microsoft.com/graph/api/resources/onedrive"
source: null
usages: ["build-time","personal-account"]
produces: ["OAuthProvider","SourceSet","Syncer","SkillSet","Agent"]
requires: {"asgard_cli":">=0.2.1","skills":[],"extensions":[],"platform":["connector"]}
command: "asgard-cli extension get asgard-ext-onedrive"
handoff: "請用 asgard-cli 取得 asgard-ext-onedrive 這個 Extension，帶我判斷要走哪幾條路線，再開始導入。"
updated: "2026-11-05"
---

# OneDrive

讓 Agent 讀放在 **OneDrive** 裡的文件。

## 支援的用法

- **設計部署時**，FDE Agent 先自己讀一次那些資料夾：有哪些檔案、怎麼命名、多久更新一次，再據此決定要做什麼。
- **每位終端用戶各自**：終端用戶（例如組織成員）在 Sindri 連自己的 Microsoft 帳號，Agent 只讀他本來就看得到的檔案——他自己的 OneDrive、別人分享給他的檔案。每個人的鑰匙分開存在 Asgard 的鑰匙圈裡，其他人都拿不到。

兩條路線都走**組織自備的 OAuth client**：應用程式註冊在組織自己的 Microsoft Entra ID，Asgard 不申請、也不代管任何 Microsoft 應用程式。

**SharePoint 文件庫這一版沒有實測過。** 在 Microsoft Graph 眼裡，文件庫（含 Teams 頻道的「檔案」分頁）跟 OneDrive 是同一種 drive，照理同一套呼叫就讀得到，但這一版只對個人的 OneDrive 測過。資料放在文件庫的話，設計部署時先打一次確認，再承諾。

**這一版還沒有共用帳號。** 讓 Agent 用一個帳號讀同一個文件庫、所有人查到的都一樣，這一版做不到。需要的是這個的話，先停下來說明，不要用「每位終端用戶各自」去兜。

## 要準備什麼

- 一個能在 Microsoft Entra ID 註冊應用程式的帳號（通常是 IT 或全域管理員）。
- 每位要用的終端用戶各一個 Microsoft 365 公司或學校帳號，而且那個租用戶要有 SharePoint Online 授權。沒有授權的話 OneDrive 的端點一律被拒——設計部署時跑一次呼叫就知道。
- 決定 Agent 要讀哪些檔案：只有終端用戶自己的 OneDrive，還是也包含別人分享給他的檔案與他所在的文件庫（見上面那段）。

其餘見 [`SKILL.md`](SKILL.md)。
