表題の件、よくやることなのですが、必要になるたびに毎回調べている気がするのでちゃんと書いておきます。
やりたいこととしては以下のファイルの情報を取得することです。(何に使うかというのは後日書きます)
まずはファイル一覧を取得してみます。このなかからファイルを特定できる情報を取得できればいいはずです。
結果を見てみます。
result.json
{
"{Link}": "https://******.sharepoint.com/sites/Sample1/Shared%20Documents/Sample2.xlsx?d=wa0009bbe024b48b7b742da3ba4cd5921",
"{Name}": "Sample2",
"{FilenameWithExtension}": "Sample2.xlsx",
"{Path}": "Shared Documents/",
"{FullPath}": "Shared Documents/Sample2.xlsx",
"{IsCheckedOut}": false,
"{VersionNumber}": "3.0"
}
単一のファイルの一部を抜き出したものですが上記のようになっています。つまり、ファイル名(拡張子つき)は{FilenameWithExtension}なんですね。{ } ってなんだろう…
とりあえず、ODATA フィルタークエリーにそのまま書いてみますが動きません。
{ } を省いてもシングルクォートで囲っても動きません。
正解は何かというと FileLeafRef と指定します。これで動作します。
IDが取得できるので、これでファイルに関する様々なアクションを後続で利用できるようになります。
SharePoint 内部フィールド名なので、 CSOM とかを利用している方だとなじみ深いのかもしれませんが、結構忘れますね…。