👨💻
Microsoft Graph API PowerShell で SPO からファイルをダウンロード
はじめに
Defender for Cloud Apps のアプリ ガバナンス機能の検証のため、MS Graph API 経由で SPO にアクセスしてファイルをダウンロードする必要がありました。Graph Explorer だと CORS でエラーになりダウンロードできなかったので、PowerShell でやっています。
ドキュメントがホントに分かりづらく、パラメータをどう拾ってくるか分からない状態だったので、一連の流れをメモしました。
ダウンロードまでの流れ
# サイト ID を取得
$siteId = Get-MgSite -Search "Contoso" | Select-Object -ExpandProperty Id
# ドライブ ID を取得
$driveId = Get-MgSiteDrive -SiteId $siteId | Select-Object -ExpandProperty Id
# パスを指定してダウンロードしたいファイルのアイテム ID を取得
# この場合の /General/test はサイト内の root 配下のフォルダ構成
Get-MgDriveItemChild -DriveId $driveId -DriveItemId root:/General/test:/
# $driveItemId に対象ファイルの ID を指定してダウンロード
$driveItemId = "xxxxxx"
Get-MgDriveItemContent -DriveId $driveId -DriveItemId $driveItemId -OutFile xxx.docx
実行イメージ
参考
Discussion