Slide 1

Slide 1 text

SharePoint のコンテンツ作成を 自動化してええ感じにサボろう!!! 第 1 回 Japan M365 Dev User Group 勉強会 2020年8月19日 岡田 尚也

Slide 2

Slide 2 text

自己紹介 名前 岡田 尚也 Twitter @nanoka7o8 どんな人? 元SIerの営業でしたが、現在は SharePoint を中心に Microsoft 365 関連のアプリを使っ た業務改善のお手伝いをお仕事にしています。 SharePoint や Power Platform に触れ、業種やスキルを問わず、誰もが自身でIT活用し ていけることに魅力を感じ、どうせ仕事するならその世界の実現を支援できる仕事に全 振りしたいなと思って、とりあえず会社辞めちゃった人です。

Slide 3

Slide 3 text

まだまだ、予算の付きにくい業務への活用でやってるやってる SharePoint のコンテンツ作成やってる? 画面や 処理 データ • いわゆるMicrosoft 365 ライセンスがあれば利用可能 • Azure Portal操作不要 • Microsoft 365 ライセンス以外が必要 • Azure Portalの操作が必要な場合も Azure Web Apps 等 Azure SQL Database 等 簡易アプリ 本格的なアプリ

Slide 4

Slide 4 text

1. 突っぱねてユーザ自身に作らせる 2. GUIでポチポチ作業代行して作ってあげる 3. PowerShell でコンテンツを作ってあげる 4. Power Automate でコンテンツ作ってあげる 5. JavaScript でコンテンツ作ってあげる どうやって作ってる? (作らされてる?)

Slide 5

Slide 5 text

具体的なやり方は? SharePoint サイトにブラウザでアクセスし、開発者ツール(F12で開くもの)を表示 コンソールに 任意のJavaScript を張り付けて実行するだけでOK

Slide 6

Slide 6 text

実行する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

Slide 7

Slide 7 text

実行する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 });

Slide 8

Slide 8 text

デモ 本日はブラウザのコンソールをそのまま使用するのでは 味気ないので、SPFxでコンソールアプリを作ってみました

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

サボろう!と言いましたが、わたし自身はこんなことこれくらいの時間でできちゃう よ!と承認欲求満たすことを優先し、アピールしてしまったがゆえに、作業時間短縮が ばれてうまくサボることができませんでしたので、皆様におきましてはご注意ください。 ご清聴ありがとうございました!!!