Help us understand the problem. What is going on with this article?

気象情報APIを使ってアプリを作ってみた -Integration Service編-

気象情報APIを使ってアプリを作ってみた -Integration Service編-

目次

  1. 概要
  2. Integration Serviceを作成しよう
  3. まとめ

概要

Kony PlatformでYahoo!JAPANデベロッパーネットワークの気象情報APIを使った降水の有無をお知らせしてくれるWebアプリケーションを作っていきたいと思います。
本記事ではIntegration Serviceの記事を読んで、Integration Serviceを作成していきます。あらかじめVisualizerにてアプリケーションの画面を作っておいた方が使用するパラメータを決めやすくおすすめです。
では早速作っていきましょう。

Integration Serviceを作成しよう

  1. Kony Fabric Consoleにログイン後、「Apps」で[ADD NEW]をクリックすると新しいFabric Appsを作成します。
    作成したFabric Appsには最初は名前が入っていません。下図のようにアプリケーション名の右隣の鉛筆マークで編集することができるので、そこで自分の作成するアプリケーションの名前に編集しましょう(今回は「WeatherCheck」という名前にしました)。
    図26.png

  2. 作成したFabric Appsをクリックし、Configure ServicesタブでIntegrationを選択します。下図の「+」ボタンをクリックし[Add New Service]をクリックする、もしくは[ADD NEW]から[CONFIGURE NEW]をクリックすることで新たなサービスを作成します。
    図1.png

  3. サービスを定義していきます。Nameなど必要な値を適切に入力していきます(使いたいService Typeによって入力項目が異なります。今回は使用するAPIでJSON形式が利用でき、JSONを選択したのでNama・ServiceType・PathExpression・Ver・Base URL・Web Service Authentication・IdentityServiceの入力が必要です)。
    ここで入力必須の項目にBase URLがあります。
    このBase URLには使いたいAPIやサービスのURLを入力すればOKです。
    今回使用するのはYahoo!JAPANディベロッパーネットワークの気象情報APIですので下記のURLを入力します。
    https://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/weather.html

  4. 作成したIntegration Serviceに[ADD OPERATION]ボタンを押してオペレーションを作成します。こちらもNameなど必要な値を入力していきます。
    図2.png
    上部の項目(Target URLのEnter suffixは後述するので一旦置いておいてそれ以外の項目)に値が入力できたらリクエストとレスポンスを入力していきます。

  5. リクエストとレスポンスを入力していきます。
    使用するAPIのリクエストとレスポンスを入力します。
    リクエストの方は比較的わかりやすく、APIを使う上で必要なパラメーターを入力していきます。[Add Parameter]ボタンを押すことでパラメーターを追加することができます。
    Data Typeに関して、今回はすべてStringですが必要に応じて変更します。
    図21.png
    レスポンスの入力は手入力で行うことも出来ますがやや難しいところがあります。特にPATHの入力がわかりにくいです。
    なのでリクエストパラメータを設定した後、下図右下の[Select an Environment]で環境を選択し[SAVE AND FETCH RESPONSE]をクリックしてください。
    図5.png
    リクエストパラーメータが正しく、疎通が成功すると下図のようにRequest PayloadBackend ResponseOutput Resultが得られます。
    図22.1.png
    またBackend Responseで取得したいレスポンスにカーソルを合わせると下図のように「Create Response
    と出てくるので、それをクリックするとレスポンスの設定が可能です。
    図25.png

DATA TYPEについては今回の解説の趣旨からは逸れるので深くは言及しませんが、DATA TYPEで「collection」を選択することで返還されるJSONのフィールド内の配列を表すことができます。
「$.●●.▲▲[*]」とPATHに記載し、DATA TYPEを「collection」にすると、「COLLECTION ID」で▲▲を指定することで▲▲の配列内のフィールドをレスポンスのパラーメータとして加えることができます。

  1. Target URLのEnter suffixについて 手順5までで一通りのサービスの作成は完了ですが、この状態で[Select an Environment]で環境を選択し[SAVE AND FETCH RESPONSE]をクリックしてテストを行なってもおそらくエラーで返ってくると思います。 私の場合、この時のエラーのステータスコードは401でした。有効な認証資格が不足しているというものです。 今回利用した気象情報APIを利用するにはappidが必要であるため、Target URLのEnter suffixに下図のように値を入力してみてください。 おそらくテストにて正常に値が返ってくると思います。 図3.png またバックエンドレスポンスは返って来るけれど、Output ResultがJSONになってくれず、「Malformed JSON Response」というエラーメッセージが出て上手くいかない時は、リクエストパラメータにoutputを加えてDATA TYPEで「json」を指定しTarget URLのEnter suffixに付け加えてやる必要があります。

まとめ

Target URLのEnter suffixにはリクエストパラメータのフィールドを指定する必要がありました。またレスポンスパラメータはPATHの書き方やそのDATA TYPEに工夫が必要でした。しかしレスポンスパラメータの設定等は、ワンクリックで且つGUIで設定できる点が非常に便利であり、Konyの魅力の1つであると思います。
しかし、これらの書き方等の情報はKonyの公式ドキュメントには記載されていない部分で落とし穴になりやすい部分かと思われましたので、本記事に記載しました。少しでも参考になればと思います。

これらの手順でIntegration Serviceを作成したら次はObject Serviceを作成していきます。

Kony_Team
主にKony Mobility Platformの利用方法を紹介しています。
konyteam
モバイルアプリケーション開発プラットフォームサービス「 Kony Mobility Platform」でアプリケーション開発を行っているチームです。QiitaではKonyを使ったアプリの作成方法や機能の説明などを行います。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした