SharePoint Rest APIを使ってSharePointリストを作成してみよう

40.3K Views

April 01, 23

スライド概要

2023/4/1に開催した気ままに勉強会 #51 運営メンバーLT ~Part1~でLTした資料です。

profile-image

非IT企業でコーポレートITをする傍ら個人事業主として、Power Platformを使用した業務改善提案等をしています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Power Appsから SharePointリストを作ってみよう! 気ままに勉強会#51 運営メンバーLT ~Part1~ #気ままに勉強会

2.

自己紹介 よう 非IT企業でコーポレートITをする傍ら個人事業主 として、Power Platformを使用した業務改善 提案等をしています。 業務ハックLabというブログとYouTubeチャンネル で業務改善やPower Platform関連の情報を発 信しています。 お仕事募集中なのでお声かけ頂けると幸いで す! #気ままに勉強会

3.

ある日、YouTubeチャンネルにこんなコメントが・・・ 質問内容 Power Apps上でSharePointリストを新規作成でき る? 例えば2022年、2023年とデータソースを分けたい場 合にPower Apps側から新規作成したい! 回答 Power Apps単体だと難しい・・・ でもPower Automateと組み合わせるとできるかも。 ということで調べてみたのが #気ままに勉強会

4.

SharePoint REST API SharePoint REST サービスの概要 | Microsoft Learn #気ままに勉強会

5.

SharePoint REST APIとは? SharePoint REST APIはSharePointの様々な機能を 外部から利用できるようにするサービスのこと。 SharePoint REST APIを利用することで下記のよう ※API、REST APIについて Miyakeさんの公開しているこの資料が おすすめ!! なことができます。 • リストやリストアイテムの操作 • フォルダ、ファイルの操作 • ODataクエリ操作の使用 • ファイルのアップロード • バッチ要求 等など #気ままに勉強会 APIについて - Speaker Deck

6.

Power Apps単体で実現するには? HTTP要求が必要 ⇒ カスタムコネクタを使う必要がある・・・ #気ままに勉強会 アクション API 応答 応答

7.

Power Automateなら? SharePointの標準コネクタ 「SharePoint に HTTP 要求を送信します」 アクションがある!! SharePoint - Connectors | Microsoft Learn #気ままに勉強会

8.

Power Apps+Power Automateで Power Automate経由でSharePoint REST APIを叩く #気ままに勉強会 アクション API 応答 応答

9.

SharePointリストを作る時 まずSharePointリストを作成した後に列を作成する。 ○○リスト Title #気ままに勉強会 ColumnA ColumnB ColumnC ColumnD

10.

SharePointリストの作成 参考 SharePoint REST サービスの概要 | Microsoft Learn #気ままに勉強会

11.

SharePointリストの作成 サイトのアドレス:対象のSharePointサイトのURL 方法:POST URI:/_api/web/lists サイトのアドレス部分でリストをどのサイトに作成する かを指定します。 方法の部分は「リストを作成」するリクエストを投げるの でPOSTとします。 URIに関しては今回行うのが「リストの作成」なので上 記の形になります。 #気ままに勉強会

12.
[beta]
SharePointリストの作成
ヘッダー
{
“Accept”: “application/json;odata=verbose”,
"Content-Type": "application/json;odata=verbose“
}

HTTPヘッダーのAcceptとContent-Typeは
Accept
クライアント側が受け入れ可能なレスポンスの種類

Content-Type
どんな形式でデータ送信したかを表すもの

#気ままに勉強会

13.

SharePointリストの作成 本文 { "__metadata”: {“type”: “SP.List”}, "AllowContentTypes": true, "BaseTemplate": 100, “Description”: “ 説明", “Title”: “SharePointリストの名前” } BaseTemplate 作成するリストのテンプレートIDを指定 Description リストの説明をここに入力 Title SharePointリストの名前をここに入力 #気ままに勉強会

14.

SharePointリストの作成 参考:BaseTemplate ID 100 101 102 103 104 105 106 107 108 109 110 111 112 : : : : : : : : : : : : : 汎用リスト ドキュメント ライブラリ アンケート リンク一覧 お知らせ一覧 連絡先リスト イベント一覧 タスクリスト ディスカッション 掲示板 画像ライブラリ データ ソース サイト テンプレート ギャラリー ユーザー情報リスト 113 114 115 116 117 118 119 120 130 140 150 200 201 : : : : : : : : : : : : : Web パーツ ギャラリー テンプレート ギャラリーの一覧表示 XML フォーム ライブラリ マスター ページ ギャラリー No-Code ワークフロー カスタム ワークフロー プロセス Wiki ページ ライブラリ リストのカスタム グリッド データ接続ライブラリ ワークフロー履歴 ガント タスクの一覧 会議シリーズの一覧 会議の議題リスト 202 : 会議出席者リスト 204 : 会議の決定リスト 207 : 会議の目的の一覧 210 : 会議テキスト ボックス 211 : リストを持ち込む会議の内容 212 : 会議ワークスペース ページの一覧 301 : ブログ投稿一覧 302 : ブログコメント一覧 303 : ブログカテゴリ一覧 1100 : Issue tracking 参考ページ:List 要素 (List) #気ままに勉強会

15.

SharePointリストの列(フィールド)作成 参考 REST を使用してリストとリスト アイテムを 操作する | Microsoft Learn #気ままに勉強会

16.

SharePointリストの列(フィールド)作成 サイトのアドレス:対象のSharePointサイトのURL 方法:POST URI:/_api/lists/getbytitle(‘作成したリスト名')}')/fields サイトのアドレスと方法はリストの作成と同じです。 URIに関しては今回行うのが「列(フィールド)の作成」な のでRESTエンドポイントは上記の形になります。 #気ままに勉強会

17.
[beta]
SharePointリストの列(フィールド)作成
ヘッダー
{
“Accept”: “application/json;odata=verbose”,
"Content-Type": "application/json;odata=verbose“
}

HTTPヘッダーのAcceptとContent-Typeは
Accept
クライアント側が受け入れ可能なレスポンスの種類

Content-Type
どんな形式でデータ送信したかを表すもの

#気ままに勉強会

18.

SharePointリストの列(フィールド)作成 本文 { '__metadata’: { 'type':'SP.FieldText', 'addToDefaultView': 'true’ }, 'FieldTypeKind': 1, 'Title': 'Integer’ } FieldTypeKind フィールドのタイプを指定 Title 列(フィールド)の名前をここに入力 #気ままに勉強会

19.

SharePointリストの列(フィールド)作成 参考:FieldTypeKind 1 : Integer(整数) 2 : Text(1行テキスト) 3 : Note(複数行テキスト) 4 : DateTime(日付と時刻) 5 : Counter(カウンター) 6 : Choice(選択肢) 8 : Boolean(はい/いいえ) 9 : Number(数値) 10 : Currency(通貨) 11 : URL(ハイパーリンクまたは画像) 14 15 17 20 23 26 30 31 32 33 : : : : : : : : : : Guid(Guid) MultiChoice(選択肢) Calculated(集計値 (他の列を基にした計算結果)) User(ユーザーまたはグループ) ModStat(モデレート状態) PageSeparator(ページ区切り) WorkflowEventType(イベントの種類) Geolocation(位置情報) OutcomeChoice(結果の選択) MaxItems(Location) 参考ページ:FieldType enumeration #気ままに勉強会

20.

最終的に出来上がった Power Appsアプリがこちら #気ままに勉強会

21.

まとめ • SharePoint REST APIを利用すると色々なことができる • Microsoft Learnなど公式情報をしっかり確認するとめちゃくちゃ役に立つ • 無理して単体のソリューションで解決するのではなく組み合わせで解決しよう • APIは知れば知るほど奥が深い・・・ でも楽しいよ SharePoint REST APIを学んで作れるアプリの幅を広げよう! #気ままに勉強会