Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SharePointのコンテンツ作成を自動化してええ感じにサボろう!!!

 SharePointのコンテンツ作成を自動化してええ感じにサボろう!!!

第 1 回 Japan M365 Dev User Group 勉強会 LT1 の資料です。

Avatar for Naoya Okada

Naoya Okada

August 20, 2020
Tweet

More Decks by Naoya Okada

Other Decks in Technology

Transcript

  1. 自己紹介 名前 岡田 尚也 Twitter @nanoka7o8 どんな人? 元SIerの営業でしたが、現在は SharePoint を中心に

    Microsoft 365 関連のアプリを使っ た業務改善のお手伝いをお仕事にしています。 SharePoint や Power Platform に触れ、業種やスキルを問わず、誰もが自身でIT活用し ていけることに魅力を感じ、どうせ仕事するならその世界の実現を支援できる仕事に全 振りしたいなと思って、とりあえず会社辞めちゃった人です。
  2. まだまだ、予算の付きにくい業務への活用でやってるやってる SharePoint のコンテンツ作成やってる? 画面や 処理 データ • いわゆるMicrosoft 365 ライセンスがあれば利用可能

    • Azure Portal操作不要 • Microsoft 365 ライセンス以外が必要 • Azure Portalの操作が必要な場合も Azure Web Apps 等 Azure SQL Database 等 簡易アプリ 本格的なアプリ
  3. 1. 突っぱねてユーザ自身に作らせる 2. GUIでポチポチ作業代行して作ってあげる 3. PowerShell でコンテンツを作ってあげる 4. Power Automate

    でコンテンツ作ってあげる 5. JavaScript でコンテンツ作ってあげる どうやって作ってる? (作らされてる?)
  4. 実行するJavaScriptって?(1/2) SharePoint REST API を 同期処理にして指定の順番で実行することで リスト作成→列作成→アイテム作成など手作業のまとまりをそのままコード化できる //①エンドポイントの設定 リクエストダイジェストの取得 let

    restUri = ‘/sites/SpfxTest /_api/contextinfo’ //②リクエストヘッダの設定 let headers = {}; headers['Content-type'] = 'application/json; odata=verbose' headers['Accept'] = 'application/json; odata=verbose' let fetchHeader = {}; fetchHeader['method'] = 'POST' fetchHeader['headers'] = headers
  5. 実行するJavaScriptって?(2/2) //③同期状態でfetch関数の実行 let d = await fetch(restUri, fetchHeader) .catch((e) =>

    { throw Error(e) }) .then((response) => response.json()) .then((responseJson) => { const { d } = responseJson return d });
  6. 1. JavaScript と SharePoint REST API でいろんなことができる 2. コンソールで使えば(2013 で

    Script Editor 使ってた人は特に)慣れ親しんだ JavaScript で 処理を実行できる 3. 作業や処理単位でコードをまとめて、自分好みの範囲で自動化しちゃおう 注意 •利用するエンドポイントによりますが、効果を及ぼすサイトの編集以上の権限があればだい たい実行可能です •Graph REST API の実行は別途リソースへのアクセス認可を取得する必要があります まとめ