kintoneのプロキシ機能を利用すると、kintone以外のサービスとデータを連携できます。
以下にその方法を説明します。
利用するAPIについて
例として、気象庁が提供している天気予報を取得できるURLを利用します。
取得した天気予報のデータは、
政府標準の利用規約
に準拠して使用できます。
地域別に定義されたIDをパラメーターとして渡すことで、天気データを取得できます。
たとえば東京都(ID:130000)の天気データを取得する場合、以下のURLを使用します。
https://www.jma.go.jp/bosai/forecast/data/forecast/130000.json
kintoneから外部APIを呼び出す
kintoneから外部APIを呼び出すには、kintone.proxy APIを利用します。
kintone.proxyはkintoneを経由してリクエストを送信するため、外部のサービスへCookieは送信されません。
Cookieやその他のヘッダーが必要なAPIについては、適宜kintone.proxyのパラメーターとして設定してください。
|
|
画面サンプル
APIトークンなどの秘匿情報の取り扱い
今回の例で使用したAPIでは、APIトークンなどの認証情報の指定が必要ありませんでした。
しかし、一般的なAPIでは、認証情報をリクエストヘッダーやリクエストボディに指定する必要があります。
kintone.proxy() では、リクエストヘッダーやリクエストボディを引数で指定します。
kintoneカスタマイズのソースコード上で、これらの引数に認証情報を直接記述すると、Webブラウザーの開発者ツールを通じて見えてしまいます。
これは大きなセキュリティリスクとなります。
そのため、APIトークンなどの秘匿情報は、フロントエンドのコード内に直接記述するのではなく、プラグイン化するなどしてサーバーサイドに隠蔽することを推奨します。
詳細は、
kintoneセキュアコーディングガイドライン:認証情報や認可情報を適切に取り扱うを参照してください。
このTipsは、2023年12月版kintoneで動作を確認しています。