> HOME > 2019年11月
 ヘルプ目次 

 ボットが急につぶやかなくなったなど、動作が止まってしまった場合は、こちらをクリックしてください。

【重要なお知らせ】2024年4月からの料金変更について
【重要なお知らせ】(マメタ)ポイントの終了につきまして

2023年4月 X(旧Twitter)の復旧方法について

置き換えタグマスターを目指せ:外部サイトからJSON情報を取得しよう

2019年11月19日

 
「Botbird」についてよくいただくご質問や、知ればもっと便利に使える小ワザをご紹介します。






置き換えタグマスターを目指せ②
外部サイトからJSON情報を取得しよう

Botbirdでは「置き換えタグ」を活用すると、外部サイトからJSON情報を取得してつぶやくボットを作ることが出来ます。


metabirds (Botbird/SLMaMe) HELP:Botbird置き換えタグ一覧
http://help.metabirds.net/e1236143.html

【置き換えタグ使用時の注意事項】
ボット設定中に「置き換えタグ」を利用する場合、正しく入力しませんと設定が反映されません。
「置き換えタグの挿入」ボタンを用意しましたので、こちらをクリックして必要な設定を行って下さい。
※「置き換えタグの挿入」ボタンは、複数行入力のときは毎回表示、個別入力の時は上級者表示のみで表示されます。
※「置き換えタグの挿入」ボタンが表示されていない場合は、メニュー最上部の「上級者向け表示にする」を選んで下さい。








外部サイトから
JSON情報を取得するボットを作ってみましょう!


実際に外部サイトからJSON情報を取得するボットを作成してみましょう。
今回は論文、図書・雑誌や博士論文などの学術情報で検索できるデータベース・サービス「CiNii」から「夏目漱石」の情報を取得するボットを作成します。




1. JSON置き換えタグを確認します


JSON情報を取得するボットを作るには、主に以下の「置き換えタグ」を使用します。

Botbird置き換えタグ一覧
http://help.metabirds.net/e1236143.html

■JSON置き換えタグ(返信ボット)
返信ボット内で、JSON置き換えタグが利用できるようになりました。
{json:パラメータ名:JSONのURL} → 指定したJSONのURLの指定パラメータ名の値


<置き換えタグ使用例>
{json:result:http://xxx.com/get_json}
→ この置き換えタグを利用すると、指定URL(http://xxx.com/get_json)から取得したJSONデータの「result」というパラメータの値を表示することが出来ます





2. JSON情報を取得します


――――――――――――――――――――――――――――――――――
JSONとは
・JavaScript Object Notaion の略です。
・RFC 8259, IETF STD 90, ECMA-404 2nd edition で規定されています。
・MIMEタイプは application/json。拡張子は .json。
・JavaScript のデータ定義文をベースとした、簡易的なデータ定義言語です。
・JavaScript だけではなく、Java, PHP, Ruby, Python など、様々な言語間のデータ交換、特に Ajax や REST API などで使用されています。
・これまでは、共通データ定義言語として XML が利用されてきましたが、現在では、簡易的な JSON が利用されるケースが増えてきています。
・子要素がひとつの場合、XML ではデータだけではそれが配列か否かを識別することはできませんが、JSON では配列と非配列を明確に指定することができます。
<出典:JSON入門>
http://www.tohoho-web.com/ex/json.html

より詳しく知りたい方は、こちらクリックしてご参考下さい。
――――――――――――――――――――――――――――――――――



論文、図書・雑誌や博士論文などの学術情報で検索できるデータベース・サービス「CiNii」から文献情報をJSON形式で取得して下さい。

データベース・サービス「CiNii」
https://ci.nii.ac.jp/books/

CiNii全般 - メタデータ・API
https://support.nii.ac.jp/ja/cinii/api/api_outline


今回は「夏目漱石」の情報を取得します。
通常の方法で検索を行ってもJSON形式の情報は取得出来ませんので、各サポート情報を確認の上取得して下さい。

https://ci.nii.ac.jp/books/opensearch/search?format=json&q=%E5%A4%8F%E7%9B%AE%E6%BC%B1%E7%9F%B3
https://ci.nii.ac.jp/books/opensearch/search?format=json&q=夏目漱石)



実際に夏目漱石の文献をJSON形式で取得した場合、上記画像の通り、ウィンドウ上に長文の文字列が表示されます。
こちらをコピーして保存しておくか、そのまま表示したまま、次の手順は新しいウィンドウを開いて進めて下さい。




3. 取得データを整えます


長文の文字列で表示された取得情報をは、このままの状態ですと分かりにくいので、置き換えタグに当てはめやすいよう、外部サイトを利用して整えます。

JSON Formatter&Validator
https://jsonformatter.curiousconcept.com/

JSONきれい ~JSON整形ツール~
https://tools.m-bsys.com/development_tooles/json-beautifier.php

JSONLint - The JSON Validator
https://jsonlint.com/

いずれのサイトでもデータを配列ごとに見やすく表示してくれますので、ご自身が一番見やすいサイトをご利用下さい。




「JSON Formatter&Validator」を利用して取得情報を整えた場合、上記画像のように各段落(配列)が見やすく表示されます。
この整えたデータから必要な項目(つぶやかせたい内容が表示される項目)を置き換えタグ内に当てはめると、ボットが「夏目漱石」についての検索結果をつぶやくようになります。


■JSON情報を利用する時の基本ルール
・[]で囲まれたものは配列といいます。
配列の中身は0,1,2,,,,と数えていきます。


{json:@graph,0,items,0,link,@id:https://ci.nii.ac.jp/books/opensearch/search?format=json&q=%E5%A4%8F%E7%9B%AE%E6%BC%B1%E7%9F%B3}

→基本ルールに当てはめていくと「"@graph":」の後に「[」が表示されているので、446行目「"@context":」の手前に表示されている、445行目「 ],」までが「@graph」という配列の中身になります。
文献の検索結果を表示したいため、配列「@graph」内0番目に表示されている配列「items」の中身、0番目の「link」という項目の中の「@id」という情報を表示出来るように設定します。

@graph/
 └ items/
   └ link/@id

ディレクトリ構成図のように表現するとしたら、このような位置ある情報「@id」を表示出来るようにします。


※本来は「{}」で囲まれる値は「オブジェクト値」と呼ばれます。
今回ここではより分かりやすく表現するため、項目という言葉で説明しています。




※より細かなルール、パラメータ値等は、各自検索の上ご利用下さい。





4. 実際にボットにつぶやかせてみましょう


3.で作成した置き換えタグをボットに登録してみましょう。
置き換えタグは「@返信ボット」に登録して下さい。



<設定例>
@反応ワード:夏目漱石
@返信メッセージ:{@} {json:@graph,0,title:https://ci.nii.ac.jp/books/opensearch/search?format=json&q=%E5%A4%8F%E7%9B%AE%E6%BC%B1%E7%9F%B3}の検索結果です

{json:@graph,0,items,0,link,@id:https://ci.nii.ac.jp/books/opensearch/search?format=json&q=%E5%A4%8F%E7%9B%AE%E6%BC%B1%E7%9F%B3}



登録後、正しく動作するかプレビュー機能で確認して下さい。



①部分は、登録した返信メッセージの前半
{json:@graph,0,title:https://ci.nii.ac.jp/books/opensearch/search?format=json&q=%E5%A4%8F%E7%9B%AE%E6%BC%B1%E7%9F%B3}
を表示しています。

②部分は後半の
{json:@graph,0,items,0,link,@id:https://ci.nii.ac.jp/books/opensearch/search?format=json&q=%E5%A4%8F%E7%9B%AE%E6%BC%B1%E7%9F%B3}
を表示しています。




設定した通りに動作すれば、JSON情報を取得してつぶやくボットの完成です!




置き換えタグの利用は、一見取っ付きにくく複雑ですが、少しずつタグを理解していくと
とても活用出来るものなので、ぜひ一度上記を真似して作成してみて下さい。



------------------
現在、こちらのコメント欄でのご質問・お問い合わせは受け付けておりません。
恐れ入りますが、ご利用に関する不明点などございましたら
https://metabirds.net/inquiry.php
よりお問い合わせ下さい。
------------------
  


Posted by Botbird staff at 20:08Comments(0)Botbird