IBM Notes V10 新機能「NotesHTTPRequest」を実装するまで-1

IBM Notes V10 新機能「NotesHTTPRequest」を実装するまで-2

IBM Notes V10 新機能「NotesHTTPRequest」を実装するまで-3

 

こんばんは爆  笑

本日は、テクてくLotus技術者夜会が開催され、テーマが

「IBM Domino App Dev Pack および IBM Notes/Domino V10 最新情報」でしたハート

 

NotesHTTPRequestのことも触れられていたので

何かいいネタないかな??と胸をワクワクさせて参加しましたニコニコ

 

Lotus ScriptからWatson Workspaceにメッセージ投稿のデモ

とっても面白かったので、是非実装してみたいですねーグラサン

 

 

さて、今回もみんな大好きNotesHTTPRequestの話題なのですが、

筆者も3回このネタで書いておりますアセアセ

 

いい加減、世の中のAPIを使った検証をしないと!と思い

楽しそうなAPIを探してみましたチョキ

 

そしたらあったんですびっくり

 

Rakuten Developers

 

API一覧の中に「楽天レシピAPI一覧」というものがあったので、

これを使って人気Top3を取得してみようと思いますグー

 

まずは完成系

Rakutenレシピから取得ボタンをクリックすると

・レシピタイトル

・レシピURL

・所要時間

 

上記3つを取得するように作ってみましたキラキラ

他にも食材とかいろいろありますが、何がとれるかはAPIの使い方を参考にしてください照れ

 

 

Rakuten Developersには使い方もテストフォームも準備されていますびっくり

 

ちなみに、RakutenAPIを使用するにはDeveloper登録が必要になります。

登録するとアプリIDが発行されてAPIが利用できるようになります。

 

ログインした状態でテストフォームに移動すると、

アプリIDが自動的にセットされます。

 

 

GET/POSTボタンをクリックすると、以下のようにJSONで結果が返ってきます。

 

筆者は、まず簡単に値がとれるかを確認したいので、

パラメータを追加してレシピタイトルのみ取得してみようと思いましたウインク

 

 

URLはコピペでとれるので良しとして・・・

 

Notes側はフォーム上のボタンに前回使用したLotus Scriptを記述しましょうかニヤリ

 

※URLはテストフォームにあるURLの値を利用します

 

~省略~

 

    URL = "<<Rakuten APIに記載のあったURL>>"
   
    Set webRequest = session.CreateHTTPRequest
    returnVal = webRequest.Get(URL$)
   
    Set jsonNav = session.CreateJSONNavigator(returnVal)

 

~省略~

 

 

さあ、レッツ値ゲットグッ

 

 

 

 

 

 

 

何かエラーでた・・・ガーン

 

 

 

読めんw

 

なんとなくですが・・・

日本語をエンコードせいや!!って言ってません??

 

 

いやいやいやいやいやいやいやいやいやいやいやいやいやいやいやいや・・・アセアセ

 

 

 

 

XPagesで作ったJSONの時、何も言ってなかったよね??

 

 

試しに「RecipeURL」に変えたら取得できるし、

所要時間を取得するようにしたら、やっぱりこのエラー・・・ガーン

 

 

RakutenAPI側だから何もできないし・・・ショボーン

 

 

 

 

 

 

 

あ!

 

 

 

 

 

 

 

 

 

Node-REDでJSON生成すればいいんだw

 

ということで、またNode-RED先輩に力を借りたいと思います。

上記赤枠で、RakutenAPIを呼び出しています。

上記青枠で、日本語をURI Encodeでエンコード化してます。

 

 

 

結果がこちらキラキラ

めっちゃええ感じラブ

 

では、Lotus Scriptの方も書き換えます。

 

 

URLの値をRakutenAPIにしていたものからNode-REDのURLに変更。

 

更に、フィールドにセットする前にデコード化してます。。。

 

そして無事

このように値がとれるようになったとさ・・・

ヨカッタヨカッタ

 

 

 

 

Node-RED、チョー便利www

 

 

 

次回(こそ)はLotus ScriptのみでWatson Workspaceにメッセージを投稿するDemoを作成したいと思いますw

 

 

 

今日はこの辺で・・・

 

 

あでゅーバイバイ