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

Power Platform のために押さえておくと嬉しい API のエコシステムのお話 #J...

Power Platform のために押さえておくと嬉しい API のエコシステムのお話 #JPPUG #PowerPlatform #MSIgniteTheTour #MSIgnite #JPPUGWinter19

Session Title
Power Platform のために押さえておくと嬉しい API のエコシステムのお話

Event Info
Power Platform Day Winter '19 Osaka

2020/01/25(土)

Sumally
Power Platform はローコードで API とかを気にせずに開発できるプラットフォームですが、API の仕様を知っているだけでも取れる選択肢の幅がすごく広くなります。

このセッションでは Power Platform フォームユーザーが押さえておくと嬉しい、API のキホンとエコシステムのポイントをお伝えします。

Avatar for Kazuya Sugimoto

Kazuya Sugimoto

January 25, 2020
Tweet

More Decks by Kazuya Sugimoto

Other Decks in Technology

Transcript

  1. © 2018 CData Software Japan, LLC | www.cdata.com/jp Power Platform

    のために押さえておくと嬉しい API のエコシステムのお話 2020/01 CData Software Japan Kazuya Sugimoto -Lead Engineer
  2. © 2018 CData Software Japan, LLC | www.cdata.com/jp Speaker 杉本

    和也:Kazuya Sugimoto • CData Software Japan, LLC Lead Engineer • Microsoft MVP for Business Applications (Dynamics CRM/365) Blog:Morning Girl http://kageura.hatenadiary.jp/ Twitter:@sugimomoto Facebook:sugimomoto
  3. © 2018 CData Software Japan, LLC | www.cdata.com/jp 今日のゴール カスタムコネクタやHTTPコネクタを

    もっと有効活用できるようになる 活用するための API エコシステムを知り・選択肢を持つ
  4. © 2018 CData Software Japan, LLC | www.cdata.com/jp 世界中で公開されている API

    の数は? A. 5,000 くらい B. 10,000 くらい C. 20,000 くらい
  5. © 2018 CData Software Japan, LLC | www.cdata.com/jp 22,000 以上の

    API が世界中で公開されている! APIs show Faster Growth Rate in 2019 than Previous Years https://www.programmableweb.com/news/apis-show-faster-growth-rate-2019-previous-years/research/2019/07/17 2012年 TwitterがAPIを公開 2012年から7年で 約17,000 API も増加!
  6. © 2018 CData Software Japan, LLC | www.cdata.com/jp OpenAPI (Swagger

    ) って何? OpenAPI Specification(OAS)は、ソース コードへのアクセス、追加ドキュメント、またはネット ワークトラフィックの検査を必要とせずに、人間とコン ピュータの両方がサービスの機能を発見して理解す ることを可能にする、 プログラミング言語に依存しないREST APIの 標準的なインターフェイス記述を定義します。 引用元: https://github.com/OAI/OpenAPI- Specification
  7. © 2018 CData Software Japan, LLC | www.cdata.com/jp OpenAPI (Swagger

    ) って何? REST API の仕様(URLパラメータや認証方式、HTTPメソッドは何を使うのか、レスポ ンスの仕様、JSON構造はどうなっているのか?等)を記述するための仕様
  8. © 2018 CData Software Japan, LLC | www.cdata.com/jp OpenAPI(OpenAPI Specification)は

    私の解釈も交えながらざっくり言ってしまえば REST APIのインターフェースが どんな機能を有しているかの明確化 ツールや開発環境などのエコシステムによる 利便性・活用性の向上
  9. © 2018 CData Software Japan, LLC | www.cdata.com/jp API 開発者のための

    OpenAPI エコシステム Tool Description Swagger Spec REST APIに対して Swaggerの仕様に準じたドキュメント Swagger Core REST APIの実装からSwagger specを生成するためのライ ブラリ Swagger Codegen コマンドラインツール Swagger JSONからクライアントコード生 成 Swagger UI SWagger 準拠 API (Swagger SPec)から動的にドキュ メントを生成するツール Swagger Editor ブラウザ上で動くJSON/YAMLのエディタリアルタイムで構文 チェック 引用元:Swaggerとは何か? プログラマでありたい http://blog.takuros.net/entry/2015/12/02/082248 ドキュメントの生成から、クライアントサイド・サーバーサイドの Code Generate まで OpenAPI(Swagger)エコシステムで実現している!
  10. © 2018 CData Software Japan, LLC | www.cdata.com/jp API 利用者のための

    OpenAPI エコシステム https://openapi.tools/
  11. © 2018 CData Software Japan, LLC | www.cdata.com/jp API 利用者のための

    OpenAPI エコシステム PoewrPlatform における Swagger Spec の嬉しい点 カスタムコネクタ作成での活用 HTTPコネクタ利用時の活用
  12. © 2018 CData Software Japan, LLC | www.cdata.com/jp Microsoft のメンバー(Darrel

    Miller)も この仕様の策定に大きく関わっている
  13. © 2018 CData Software Japan, LLC | www.cdata.com/jp 最近は自社サービスの OpenAPI

    Specを 公開しているクラウドサービスも多い SendGrid https://github.com/sendgrid/s endgrid-oai CloudSign https://app.swaggerhub.com/a pis/CloudSign/cloudsign- web_api/0.8.0 SmartHR https://developer.smarthr.jp/ap i/index.html
  14. © 2018 CData Software Japan, LLC | www.cdata.com/jp Web API

    を試すなら Postman! Web API の開発者「提供する側・活用する側」双方にとってよりよい 開発・検証のエクスペリエンスを提供するクライアントアプリケーション
  15. © 2018 CData Software Japan, LLC | www.cdata.com/jp Postmanエコシステムの要 Postman

    Collection ・Postman で実行できる APIのリクエスト定義をまと めたもの ・チームでの共有・外部へ の公開、APIドキュメント生 成、APIテストなどに活用
  16. © 2018 CData Software Japan, LLC | www.cdata.com/jp API 利用者のための

    Postman Collection エコシステム PoewrPlatform における Collection の嬉しい点 OpenAPI Spec から Postman Collectionを生成 カスタムコネクタ作成での活用
  17. © 2018 CData Software Japan, LLC | www.cdata.com/jp Postman API

    Network で 400種類以上の Postman Collection が公開されている
  18. © 2018 CData Software Japan, LLC | www.cdata.com/jp 日本でも BtoB

    EC クラウドサービス Bカートが Postman Collection ベースでドキュメントを公開中 https://api.bcart.jp/
  19. © 2018 CData Software Japan, LLC | www.cdata.com/jp Postman /

    OpenAPI で カスタムコネクタを作成するときの注意点 ・Postman Collection は 1.0のみサポート ・OpenAPI(Swagger)バージョンは 2.0 のみサポート https://docs.microsoft.com/ja-jp/connectors/custom-connectors/faq#other
  20. © 2018 CData Software Japan, LLC | www.cdata.com/jp サポートされる認証方式 ・Basic認証

    ID・PWをBase64エンコードして、ヘッダーに付与 ・API Token認証 任意の文字列をURLパラメータもしくはヘッダーに付与 ・OAuth 2.0 認証 特定のOAuthプロバイダーを利用、もしくは AuthorizationURL・TokenURL・ClientId・ClientSecret を指定して、独自プロバイダーを指定することも可能
  21. © 2018 CData Software Japan, LLC | www.cdata.com/jp OAuth 2.0

    認証でサポートされる GrantType ・Authorization Code Grant(←これだけサポート) ・Implicit Grant(そもそもRFCで非推奨になる?) ・Resource Owner Password Credentials Grant ・Client Credentials Grant(GraphAPIとかで使うね) じゃあ、他のフローはできないのか? という話ですが、カスタムコネクタの場合、 Authorization Headerを動的に設定することができないため、おそらくできない。 HTTPコネクタを利用するアプローチか、API Key認証を用いて手動で取得した Access Tokenを指定する方法などが必要となる。
  22. © 2018 CData Software Japan, LLC | www.cdata.com/jp OpenAPI Specが公開されていない?

    探したり・相談すれば貰えることも API Referenceのソースコード を検索したら OpenAPI(Swagger) を発見 Twitterで代表の方に聞いたら 教えてくれた!
  23. © 2018 CData Software Japan, LLC | www.cdata.com/jp OpenAPI Version

    3.0 しか無いんだけど どうしたらいい? API MATIC というサービスで OpenAPI 3.0 → 2.0に変換可能 一回Postman コレクションにしてから取り込むのもアリ
  24. © 2018 CData Software Japan, LLC | www.cdata.com/jp Postman Collection

    でコネクタを作成する場合 応答を生成するのが面倒 Save as exampleで レスポンスを保存しておけば、 カスタムコネクタの応答に自動登録される
  25. © 2018 CData Software Japan, LLC | www.cdata.com/jp SOAP 使いたい

    LogicAppsでプレビュー中 https://docs.microsoft.com/ja-jp/connectors/custom-connectors/create-register-logic-apps-soap-connector
  26. © 2018 CData Software Japan, LLC | www.cdata.com/jp GraphQL 使いたい

    Postmanで予めQuery を含めた HTTPリクエストを作って、取り込むのが楽
  27. © 2018 CData Software Japan, LLC | www.cdata.com/jp gRPC 使いたい

    コード変換 Proxy を用いて、HTTP/JSONエンドポイントとして公開し直すかな? (やってはいない)
  28. © 2018 CData Software Japan, LLC | www.cdata.com/jp OpenAPI のビジョン

    >Tony: 単にAPIを利用したいだけで,実現方法には関心のない場合が多いので はないかと思います。使いやすい,よいAPIを作ることが非常に難しい問題であ るのは事実ですが,APIの採用が成功する上では,クライアントの実装とAPI へのアクセスこそが最も重要なファクタなのです。 https://www.infoq.com/jp/news/2016/02/tony-tam-oai-initiative-swagger/
  29. © 2018 CData Software Japan, LLC | www.cdata.com/jp まとめ APIエコシステムの影響によって

    私達のAPI利用の敷居はどんどん下がっている 是非活用するための API エコシステムを知り 選択肢を持って、利用するAPIの幅を広げてみてください