ページビューの合計

2022年11月4日金曜日

#Domino #Volt ( #dominovolt )で 外部 #REST #API ( #restapi )を使う

 I recently posted about the prerequisites for using an external REST API with Domino Volt.

However, I thought that this was not enough, so I created a video in which I actually implemented an application that retrieves data from an external REST API in Domino Volt in a short time and with no code.

みなさま、こんにちは。

さて先日、

#Domino #Volt ( #dominovolt )で 外部 #REST #API ( #restapi )を使う前準備

という記事を掲載しましたが、設定だけを公開しても・・・ということで、今回は実際に外部のREST APIからデータを取得する手順を短い動画にしましたので、公開致します。

こちらも先日の掲示板に張り合い?
4分20秒で完成させたスピード作になります(笑

今回の例では、ホットペッパーグルメから公開されているAPIを利用して、キーワード検索を行い、結果をVoltに表示させるという単純なものです。

ホットペッパーグルメのAPIについては、こちらをご参照ください。
(※登録して、API Keyを取得する必要があります・・・すぐに発行して頂けました)

https://webservice.recruit.co.jp/index.html

こちらのAPIリファレンスに詳しく書かれていますが、必要な項目としては、

●リクエストURL
●検索クエリ(何を検索するのか・・・今回はkeywordを利用)
●レスポンスフィールド(どの項目を表示させるか・・・今回はname,Address,station_name,closeを利用)

となります。

リファレンス内には以下のようなサンプルがあり、リンクをクリックするとブラウザに結果が得られます。

ちなみに得られた結果はこちらになります。


・・・keyが設定されていないので、あたりまえですね。
では[APIキー]を取得したキーに差し替えてみます。


実際にはもっと長いデータになりますが、無事データを取得することができました。

それでは実際にDomino Voltに設定していきましょう。
先にも書きしましたが、今回はkeywordのみを指定して検索しますので、URLの例は以下となります。

http://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key=[APIキー]&keyword=秋葉原

試しにブラウザで実行してみると、

このように結果が得れることを確認しました。

それではDomino Voltに設定していきます。

・・・いきなりですが、今回のフォームは以下となります。
詳細はお手数ですが、動画をご覧ください。


それではREST APIの設定を[検索]ボタンにサービスとして追加します。

以下のようにURLを指定します。


すると・・・


なんとエラーが出てしまいました。
応答にはデータが入ってそうです。

・・・よくよく内容を確認すると・・・
そう、APIのデフォルトがXML形式で戻ってきていたのです。

現状、VoltはJSON(のみ?)でのやり取りになるため、その設定を追加してやる必要があるということです。

APIリファレンスをよく読むと・・・


ありました。
URLに"format=json"を追加してやればいいようです。

ということで、まずは以下URLをブラウザで表示させてみます。

http://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key=[APIキー]&keyword=秋葉原&format=json


ごちゃごちゃした表示が戻ってきました。
さすがにこの状態ではXMLのほうが見やすいとは思いますが、関係ありません。


ということで、このURLを使い、サービスを設定していくことで、無事結果が得られました。

こちらの詳細も申し訳ございませんが、動画にてご確認ください。
今回はまったくコードを書いておりませんので、ぜひその点にもご注目ください。






2022年11月2日水曜日

#Domino #Volt ( #dominovolt )で 外部 #REST #API ( #restapi )を使う前準備

 I will be publishing an article on the prerequisites for connecting to external REST APIs with Domino Volt.

Since there are not many articles in Japanese, I would be happy if you find this article useful.

みなさま、こんにちは。
さて今回も告知からです。

#HCLAmbassador ノミネーション受付中!!

我こそは!!
少しでも思いつく方は、遠慮することなくエントリーを!


#DominoHub 2022

HCLアンバサダー主催のオンライン・オフラインイベント。
イベントの最後にはビアバッシュと大抽選会も!!
可能な方は、ぜひ現地でお会いしましょう。
もちろん難しい方は、オンラインでご視聴ください。

おまけ
12月8日はパブリックビューも開催されますので、こちらもお見逃しなく!!



さて本題です。
先にも触れましたがDomino Hub 2022で1コマ頂いており、現在その資料を作成しています。
いろいろと掘り返している中、Domino Volt のREST接続を久しぶりに実施したのですが、なんとうまくいかない・・・。

具体的にはAPIのURLを入力して進めようとすると、以下エラーが表示されるんです。


ホワイトリスト???

半日ほど調べたのですが、見つけられず。
今回もサポートを頼らせて頂きました。
特に急ぎでなかったので、"優先度:低"で送信したのですが、なんと1時間ほどで連絡が。

「Volt Configuraton Settings (VoltConfig.nsf) の以下の設定でサービスの Whitelist を設定します。」

すっかりこのDBのことを忘れてました。
実際には、以下コンフィグデータベースを開き、


以下、「servicesWhitelist.enabled」を編集します。



変更する場所は2か所

まず最初のラジオボタンを[Enable Setting]に切り替えます。


続いて、最下部の Setting Value を[false]に書き換えて保存します。


すると、先のエラーはなくなり、以下のようにサンプルの応答(JSON)に結果が表示されました。


今回はあらゆるサイトに対しての許可を与えることとなっていますが、接続可能な先も制御できるようです・・・さすがDomino!
サポートからの案内文は以下となりますので、参考まで・・・。



このあたりの情報も、なんとか日本語で検索できればいいのですが。

ということで、ここまでくれば、フィールドの割り当てなどを設定すれば、RESTで取得したデータをVoltアプリに取り込むことが可能になります。
しかもノーコードで!!

APIはいろいろと公開されていますので、社内で利用可能なものも手軽に作れるのではないでしょうか。

ということで、このような内容を12月8日に発表させて頂きますので、ぜひご視聴ください!!