Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

Tesla API(Mock)カスタムコネクタを作成する:PowerApps / PowerAutomate

最近あまりにも Tesla API を触りたい衝動が抑えきれず、 Mock の API Serverを作りました。作り方は以下の記事で公開しています。

kageura.hatenadiary.jp

この Mock Server ですが、実装はOpenAPI で作成していますので、PowerApps/ PowerAutomateのコネクタとしても利用できます。

結構色んなコマンドが用意されていて面白いので、実際に試してみました。

  • どんなことができるようになるの?
  • カスタムコネクタの作り方
    • カスタムコネクタの作成
    • カスタムコネクタを使ってみる
  • 実際に Tesla に接続する場合
    • URLの設定
    • AccessTokenを取得する
    • 認証の設定
  • おわりに
続きを読む

Tesla のデータをAPI経由で定期的に Google BigQueryに連携し分析できるようにする:CDataSync

前回の記事で Tesla API の Mock Serverを作ったんですが、作っただけじゃツマラナイので色々と妄想を膨らませて、試してみようと思います。

kageura.hatenadiary.jp

f:id:sugimomoto:20200121114916p:plain

先の記事でも解説しているんですが、Tesla API はおよそ200項目におよぶ大量の車両データ・センサーデータを取得することができます。

バッテリーのチャージ状況から、シートヒーターの稼働、近くの充電サイトまで取得することができます。

なので、このデータを使って、BIツールで分析したいな! というのが最初の狙いでした。

  • 分析を行うために Tesla API の難しいところ
  • こんな風にできた
  • 必要なもの
    • REST データ処理用 RSDファイルの作成
    • Google BigQuery の準備
    • CDataSyncのインストール
    • REST データソースの設定
    • BigQueryへの同期先設定
    • ジョブの作成
    • テスト実行
    • Google Data Portal でビジュアライズ
  • さいごに
続きを読む

Tesla API が触りたいけれど、車が高くて買えないので、Tesla API の Mock API Server を作って、擬似的に Tesla を所有している感覚を API で体験する

Tesla ご存知ですか? そう、あの Tesla です。最近日本でも Model 3が出始めて、人気沸騰中(だと個人的に思っている)の電気自動車のことです。

https://www.tesla.com/ja_jp

f:id:sugimomoto:20200120222922p:plain

続きを読む

JSON から OpenAPI(Swagger) Spec のモデルを生成するのに「Swagger toolbox」が便利

OpenAPI(Swagger)Spec を書いていて、真っ先に面倒かつ苦痛なのが Model 部分の定義だと思います。

予め OpenAPI Spec を生成するように Web API側を定義していたりすれば、話は別ですが API Design First で構成していく場合、大量の定義をYAMLで書いていかないといけません。 また、すでに存在しているWeb APIからOpen API Specを書き起こす、みたいなプロジェクトの場合も同様ですね。

そんな苦痛な Model 生成が「Swagger toolbox」というWebアプリで一層(半分くらい)できるのでオススメです。

swagger-toolbox.firebaseapp.com

f:id:sugimomoto:20200118192849p:plain

使い方は簡単です。左側に Model を生成したいJSONを貼り付けて「Convert」をクリックするだけ。

もし、Example を含めたい場合は「Include the example to the output」にチェックを入れればOK。

素晴らしい。

OpenAPI(Swagger) Spec のバージョンを 3.0 から 2.0 に変換したい:API MATIC を試してみた

2.0 から 3.0 に上げたいならまだしも、3.0 から 2.0 に下げたい? 何をバカなことを言っているのだ? と思われるかもしれないんですがちゃんとした理由がありまして

PowerApps のカスタムコネクタが OpenAPI Spec から生成できるんですが、現在 2.0 しかサポートしていないんですね。

docs.microsoft.com

でも、私が個人的に作っていた API が OpenAPI Spec 3.0 なのですね。(わかってたのにー (ノシ 'ω')ノシ バンバン)

なので、変換できるツール無いかなーと探していたら、ありました!

API MATIC

API MATIC」という API定義から各言語のSDKを生成するサービスがあるんですが

www.apimatic.io

f:id:sugimomoto:20200118194014p:plain

その機能の中に「API Transformer」というものがありまして、OpenAPI以外にも、各種API Specを相互変換!

www.apimatic.io

f:id:sugimomoto:20200118194455p:plain

しかも、Postman Collection までサポート・・・!!!!!

素晴らしい!!!

なお、基本的には Web API を提供している側向けのサービスなので、お値段は月々 $9.9 ~。

f:id:sugimomoto:20200118194642p:plain

今回はとりあえず Trial で試してみました。

使い方

使い方は簡単です。サインアップしたら、ダッシュボードの画面右上に「Transform API」というボタンがあるので、これをクリック。

f:id:sugimomoto:20200118194832p:plain

あとは対象となる YAML を選んで、Export Format から OpenAPI/Swagger v2.0 を選べばOK!

f:id:sugimomoto:20200118195031p:plain

ValidationがOKだったら、Proceed をクリックすると、OpenAPI/Swagger v2.0 の Spec がダウンロードされてきます。

f:id:sugimomoto:20200118195132p:plain

やったね!

f:id:sugimomoto:20200118195307p:plain

Postman Documentation / API Network が便利だよ!

この記事は「Postman Documentation / API Network が便利だよ! 」ということを言いたいだけの記事です。

Postman Documentation / API Network とは?

Postman には Webベースのドキュメントを公開する機能があります。

learning.getpostman.com

作成すると以下のような見やすい API リファレンス と APIテスティング が行えるWebSiteが自動的に作成されます。

もちろん、Postmanコレクションも取得して、ローカルのPostmanで実行することも可能です。

docs.api.getpostman.com

f:id:sugimomoto:20200114111813p:plain

ちなみに、私の観測範囲で、このPostman Documentation を使ってAPI ドキュメントを公開している日本のクラウドサービスは「Bカート」さんくらい。

https://docs.api.bcart.jp/

f:id:sugimomoto:20200114111943p:plain

ちなみに、Postman では生成したドキュメントをPostmanの サイト上で公開・共有できる仕組みを提供しています。

それが Postman API Network です。

f:id:sugimomoto:20200114112624p:plain

現在、470種類ほどのAPIが公開されており、APIドキュメントの参照、Postman Collectionの入手が可能になっています。

f:id:sugimomoto:20200114112749p:plain

APIを検証する時、Postmanコレクションを毎回手作業でがつがつ作るんですが、予めこういうサイトで公開されていると、すごく楽で助かります。

最後に

パブリックなAPIは、みんな Postman API Network で API documentを公開してくれればいいのに!!!

Postman Collectionは OpenAPI SpecやRAMLからも取り込めるので、敷居は低いと思うんですが。

PowerApps / PowerAutomate カスタムコネクタを Postman コレクションから作成する

前回の記事では OpenAPI(Swagger)Specからカスタムコネクタを作る方法を解説しました。

kageura.hatenadiary.jp

今回は Postman コレクションからカスタムコネクタを作成する方法を見ていきます。

docs.microsoft.com

  • Postman とは?
  • 対象のAPI
  • 出来上がるもの
    • Postman コレクションサンプル
    • Postman コレクションのエクスポート
    • カスタムコネクタの作成
    • アプリの作成
  • おわりに
  • Tips
    • 応答に利用できるレスポンスを予め加えておく
    • 動的URLを構成したい場合どうするの?
続きを読む