😀
SharePoint Online にある Excel 内のテーブルデータを Graph API で取得してみた
SharePoint Online にある Excel 内のテーブルデータを取得したい場合、Power Automate や Logic Apps の Excel Connector はとても便利です。コネクターの中身は、推測にはなりますが、認証情報の保持と Microsoft Graph API の実行だと思っています。そこで、Azure CLI の REST 実行を使って、同じことができるか試してみました。
検証用の Excel 例
table1
という名前のテーブルを用意しました。
環境変数をセット
bash
# テナント名
tenant=mnrsdev
# テナント ID
tenantid=00000000-0000-0000-0000-000000000000
# SharePoint Online のサイトパス
sposite=/sites/private
# Excel のファイルパス
filepath=/General/test.xlsx
テナントにログイン
bash
# テナント ID を指定してログイン
az login -t $tenantid
SharePoint Online のサイト ID を取得
bash
siteid=$(az rest \
--uri "https://graph.microsoft.com/v1.0/sites/${tenant}.sharepoint.com:${sposite}" \
--query id \
--output tsv)
Excel のテーブルデータを取得
bash
az rest \
--uri "https://graph.microsoft.com/v1.0/sites/${siteid}/drive/root:${filepath}:/workbook/tables/table1/range" \
--query values
[
[
"name",
"type"
],
[
"james",
"a"
],
[
"naomi",
"b"
]
]
参考
Discussion