有人知道如何获取自己在onedrive网盘上的文件列表吗? 感觉是可以实现的, 因为Alist就可以列出网盘里的文件, 问了gpt回复如下, 貌似有点复杂, 有大神给提点一下吗? 感谢- # 安装 MSAL.PS 模块
- Install-Module -Name MSAL.PS -Force
-
- # Azure AD 应用的设置
- $clientId = "<你的应用程序ID>"
- $tenantId = "<你的租户ID>"
- $scope = "https://graph.microsoft.com/.default"
- $authority = "https://login.microsoftonline.com/$tenantId"
-
- # 获取访问令牌
- $tokenResponse = Get-MsalToken -ClientId $clientId -TenantId $tenantId -Scopes $scope -Authority $authority -Interactive
-
- # 访问令牌
- $accessToken = $tokenResponse.AccessToken
-
- # 调用 Microsoft Graph API 获取 OneDrive 根目录的文件列表
- $uri = "https://graph.microsoft.com/v1.0/me/drive/root/children"
-
- # 使用访问令牌请求 OneDrive 文件列表
- $response = Invoke-RestMethod -Uri $uri -Headers @{Authorization = "Bearer $accessToken"} -Method Get
-
- # 输出文件信息
- $response.value | ForEach-Object {
- Write-Host "文件名: $($_.name)"
- Write-Host "类型: $($_.file.mimeType)"
- Write-Host "大小: $($_.size) bytes"
- Write-Host "---------------------------------"
- }
复制代码
|