使用 Microsoft Graph 存取、儲存及擷取 SharePoint Embedded 中的檔案
- 9 分鐘
在此練習中,您將使用Postman,使用Postman用戶端來存取、儲存及擷取 SharePoint Embedded 容器中的檔案和檔。
必要條件
- Postman 安裝 的桌面客戶 端已登入 Postman 免費或付費帳戶。
- 存取 Microsoft 365 租使用者中的系統管理員帳戶。
重要事項
目前,許多用來建立、存取和管理 SharePoint Embedded 特定資源的 Microsoft Graph 端點只存在於 Microsoft Graph beta 端點上。 不過,所有存取容器和內含內容的端點都位於 Microsoft Graph v1.0 端點上。
設定 Postman 集合的 Delegated 資料夾
第一個步驟是在您先前建立的 Postman 集合中設定 Delegated 資料夾,以取得應用程式+使用者存取令牌,也稱為 委派存 取令牌,因此我們可以呼叫應用程式。
在 Postman 用戶端中,選取您的 SharePoint Embedded 集合,選取 [ 委派] 資料夾,然後選取 [ 授權] 索引 卷標。設定下列設定 (忽略下列清單中未提及的欄位) :
- 類型: OAuth 2.0
- 將驗證數據新增至:要求標頭
-
目前的權杖:
- 令牌:可用的令牌
- 標頭前置詞:持有人
-
設定新令牌
- 令牌名稱:Graph 應用程式+使用者令牌
- 授與類型:授權碼
-
回呼 URL:
https://oauth.pstmn.io/v1/browser-callback -
驗證 URL:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize -
存取權杖 URL:
https://login.microsoftonline.com/common/oauth2/v2.0/token -
用戶端識別碼:
{{ClientID}} -
用戶端密碼:
{{ClientSecret}} -
範圍:
FileStorageContainer.Selected offline_access
選取表單底部的 [ 取得新的存取令牌 ] 按鈕。 這會觸發包含 Microsoft Entra ID 登入頁面的彈出視窗。 針對您的 Microsoft 365 租使用者使用 公司與學校 系統管理員帳戶登入,如果系統提示您授與同意要求的許可權,請選取 [ 接受]。 當彈出視窗關閉時,Postman 會收到令牌,並顯示在確認彈出視窗中。 選 取 [使用令牌 來儲存它以供未來要求使用]。
注意事項
藉由新增 範圍offline_access,Microsoft Entra ID 會以重新整理令牌回應,讓Postman不僅可以將存取令牌儲存在工作站本機上,還可以在下次使用令牌時到期時自動重新整理令牌。
在 [ 集合] 窗格中,選取 [ 委派的 > 容器] 資料夾,然後選取 [ 授權 ] 索引卷標。將 [類型 ] 設定為 [從父代繼承驗證]。
使用 Microsoft Graph REST API 列出所有容器
既然已設定 Postman 集合的 [委 派 ] 和 [ 容器 ] 資料夾,請新增要求以取得所有容器的清單。
選取空白 > [委派的容器] 資料夾中的 [新增要求] 連結,或選取 ...>,以建立新的要求。當您將滑鼠停留在 [委派>的容器] 資料夾上,並在新的要求上設定下列值時,請從作功能表新增要求:
- 名稱:列出容器
- HTTP 方法:GET
-
HTTP 端點:
https://graph.microsoft.com/beta/storage/fileStorage/containers?$filter=containerTypeId eq {{ContainerTypeId}}
選 取 [傳送 ] 以執行要求。 您應該會看到找到零個容器的有效回應。
使用 Microsoft Graph REST API 建立新的容器
讓我們使用 Microsoft Graph REST API 來建立第一個容器。
使用下列值建立新的要求:
名稱:建立容器
HTTP 方法:P OST
HTTP 端點:
https://graph.microsoft.com/beta/storage/fileStorage/containers本文:原始 > JSON
{ "displayName": "Sample App Container 1", "description": "First container description.", "containerTypeId": "{{ContainerTypeId}}" }
選取 [ 傳送] 來執行要求。
如果成功,Microsoft圖形會以 HTTP 201 程式代碼回應,並提供新容器詳細數據的摘要:
現在,如果您重新執行 [列出容器 ] 要求,您會看到它現在會傳回您建立的容器。
讓我們儲存容器的標識碼以供日後使用。
選取回應屬性的 id 值,以滑鼠右鍵選取它,然後選取您環境的 ContainerID 屬性。
使用 Microsoft Graph REST API 取得特定容器的詳細數據
接下來,使用 Microsoft Graph REST API 建立新的要求以取得單一容器。
返回 至您的集合 SharePoint Embedded,流覽回 [委派的>容器] 資料夾,然後使用下列值建立新的要求:
名稱:取得容器
HTTP 方法:GET
HTTP 端點:
https://graph.microsoft.com/beta/storage/fileStorage/containers/{{ContainerID}}?$select=id,displayName,containerTypeId,status,description,customProperties&$expand=permissions
選取 [ 傳送] 來執行要求。 Microsoft圖形會以容器的詳細數據回應。
將檔案新增至現有的容器
SharePoint Embedded 中的所有容器都可以視為 Microsoft Graph 磁碟驅動器對象,開發人員會熟悉該物件在 Microsoft Graph 中使用 OneDrive 端點。 這表示您可以使用先前建立的所有現有磁碟驅動器端點和程式代碼來管理 Drive 對象中的內容,以管理 SharePoint Embedded 容器中的內容。
存取容器作為磁碟驅動器物件
在 Postman 集合的 [委派] 檔案夾中建立新的資料夾檔案。
接下來,使用下列值,在 [ 委派的 > 檔案] 文件 夾中建立新的要求:
- 名稱:取得磁碟驅動器
- HTTP 方法:GET
-
HTTP 端點:
https://graph.microsoft.com/v1.0/drives/{{ContainerID}}
重複此程式,使用 端點在 Drive 物件 items 中取得所有檔案的清單,也稱為 DriveItems:
- 名稱:取得 DriveItems
- HTTP 方法:GET
-
HTTP 端點:
https://graph.microsoft.com/v1.0/drives/{{ContainedID}}/items/root/children
選取 [ 傳送] 來執行要求。 Microsoft圖形會回應 SharePoint Embedded 容器的內容:
將檔案上傳至容器
建立容器,並能夠使用現有的 Microsoft Graph 磁碟驅動器和 DriveItems 端點來查看容器內的檔案,讓我們將檔案新增至容器。
建立Microsoft Word 檔。 在此範例中,我們將針對從其中一個包含的Microsoft Word 範本建立的 2024 年 1 月可編輯行事曆使用檔。 在此範例中,檔案稱為 Jan2024.docx。
使用下列值,在 [ 委派的 > 檔案] 文件 夾中建立新的要求:
- 名稱:上傳檔案
- HTTP 方法:P UT
-
HTTP 端點:
https://graph.microsoft.com/v1.0/drives/{{ContainerId}}/root:/Jan2024.docx:/content - 身體:
- 類型: 二進位
- 在此範例中選取Microsoft Word 檔案 (Jan2024.docx)
注意事項
更新端點,以使用您想要在容器中建立的檔名。 在這裡範例中,我們會使用 Jan2024.docx。
選 取 [傳送 ] 上傳檔案:
重新執行要求 Get DriveItems 以查看容器中的檔案:
摘要
在此練習中,您已使用 Postman,透過使用應用程式+使用者存取令牌呼叫 Microsoft Graph REST API,來存取、儲存及擷取 SharePoint Embedded 容器中的檔案和檔。