背景
会社で、User 追加でエラーになるって話だったので、たぶん SiteUsers 使えばいいんじゃない?って思ったけど余裕が無かったので、自宅で検証した記録
結論
SiteUsers の Id で更新も追加も出来ました。
テナントの User Id を使って更新・追加しようとしてしまうんですが・・
SharePoint のサイトごとにある User ID を利用する必要があるっていうオチですね。
昔、Teams メンバー一覧リストを作った際の知見が役に立ちました
詳細
そもそもの SQL 操作は以下で確認を
困る部分としての説明のみ
以下 API を使って、SiteUser ID を取得します
{SharePoint Site URL}/_api/Web/SiteUsers
例
https://***.sharepoint.com/sites/testsite/_api/Web/SiteUsers
一覧としては、{SharePoint Site URL}/_catalogs/users
で見られるんですが、ID を取る方法はやっぱりAPIかな
これで取得出来るのは xml 形式で、
こんな感じで、各ユーザー毎の Id が格納されています。
ということで、あとは、この Id を PAD の Insert Statement に設定してやれば OK
あとは頑張って自動化してください。
更新の場合の例
ユーザ列を更新しないと、上手くいかない、という話があったので試してみた
UPDATE list SET usr = 9 WHERE Title = 'shima_kuma'
UPDATE list SET RawA = '×' WHERE Title = 'shima_kuma'
上記で、以下もOK
- ユーザー列を更新
- 〇⇒×へ更新:ユーザ列を非糠疹
同一のユーザ情報を別の列で参照してる・・とか・・かな?
かと思って、ユーザー列を参照して、substring() を利用した列を追加してみたが、特に問題なく更新出来た。
状況を聞いてみないとこれ以上はわからないね。
コンテンツタイプを有効にしても変わらず
ドキュメント
目的 | API | Doc |
---|---|---|
Site の user 一覧 | _api/Web/SiteUsers | SPWeb.SiteUsers Property |
# あとがき
ROS2 の勉強しないとなんだけど・・やる気が起きないので、ついつい横道へ・・