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

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

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

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

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 の実行は別途リソースへのアクセス認可を取得する必要があります まとめ