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

SPFxとCDSWebAPIを使ってアプリ作ってみた!

Avatar for Naoya Okada Naoya Okada
December 09, 2020

 SPFxとCDSWebAPIを使ってアプリ作ってみた!

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

Avatar for Naoya Okada

Naoya Okada

December 09, 2020
Tweet

More Decks by Naoya Okada

Other Decks in Technology

Transcript

  1. SPFx と CDS Web API を使って アプリ作ってみた! 第 2 回

    Japan M365 Dev User Group 勉強会 2020年12月8日 岡田 尚也
  2. 自己紹介 名前 岡田 尚也 Twitter @nanoka7o8 どんな人? 元SIerの営業でしたが、現在は SharePoint を中心に

    Microsoft 365 関連のアプリを 使った業務改善のお手伝いをお仕事にしています。 SharePoint や Power Platform に触れ、業種やスキルを問わず、誰もが自身でIT活 用していけることに魅力を感じ、どうせ仕事するならその世界の実現を支援できる 仕事に全振りしたいなと思って、とりあえず会社辞めちゃった人です。
  3. CDS(Microsoft Dataverse※)ってなに? クラウドベースのローコードデータサービスおよびアプリプラットフォーム・・・? https://docs.microsoft.com/ja-jp/powerapps/maker/common-data-service/ の日本語訳から抜粋 身近なところでは、Project Oakdale として、Power Apps や

    Power Automate でア プリを作ったりするときのテーブルに使ったりしますよね?アレです。アレ! よくわかりませんが、たくさんデータ格納できるだけでなくて、ビジネスロジックと かも設定できるようになっているらしい。Web API でデータ操作もできる。便利そう。 ※ちょっと前にMicrosoft Dataverse と名前が変わりました。 定義が同じかわかりませんが、本資料中では、CDS = Microsoft Dataverse と扱うことにします。
  4. SPFxってなに? SharePoint Framework (SPFx) は、クライアント側の SharePoint の開発モデル https://docs.microsoft.com/ja-jp/sharepoint/dev/spfx/sharepoint-framework- overview から抜粋

    サーバなどを用意しなくても、SharePoint Online さえあればクライアント側のアプ リケーションを開発することができる、お手軽な手法です。 Graph API や さまざまな Azure AD で保護された API との連携のシナリオが想定され ています。
  5. アプリ開発のポイント Project Oakdale 環境では環境URLが確認できにくくなっているので、まずは普通に Power Apps per app ライセンスを割り当てた環境でアプリを作り、その後接続先の環境 を変えたいと思います。

    以下の手順で、SPFx に CDS Web API への接続を許可することで、あとは自由に接続で きます。その後、実行したい処理を作っていきます。 1. package-solution.json に CDS への接続を記述する 2. 一度サイトに展開する 3. SharePoint 管理センターから APIアクセスを許可 4. 実行したい処理を作成する
  6. アプリ開発のポイント(参考) ◆ SPFx から CDS への接続 https://blog.karamem0.jp/entry/2020/04/20/150000 からめもぶろぐ。(篠原さ んのブログ) https://docs.microsoft.com/ja-jp/sharepoint/dev/spfx/use-aadhttpclient

    ◆ CDS Web API のあれこれ https://kageura.hatenadiary.jp/ Morning Girl(杉本さんのブログ) https://www.cdatablog.jp/entry/dynamics365postman CDataさんのブログ https://docs.microsoft.com/ja-jp/powerapps/developer/common-data- service/webapi/overview
  7. まとめ ◆ CDS の Web API を使えば、エンティティの取得や、更新、削除ができる。 ◆ SPFx には

    CDS Web API など Azure AD でセキュリティ保護された API を利用す るときに、割と楽できる方法がある。 ◆ Power Apps per app ライセンスがあれば、CDS Web API も利用ができる。 ◆ Project Oakdale は APIでのアクセスはできなさそう。 今回(難しくて)試していませんが、Dynamics 365 の知識があれば、いろいろな関数 などもWeb API から動作させることができるようです。 お好みでビジネスプロセスフローなんかと組み合わせると面白いかもしれません。 Power Apps のライセンスが高くて稟議が通らないなどお悩みの方は、こんな拡張も できるよ!とか言ってみてもいいかもしれません。