168
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

APIを利用してアプリを作成してみた

Last updated at Posted at 2019-03-25

こんにちは。今回はRakuten RapidAPIを活用して簡単なアプリを作成してみました。「T.W.I.N」というこのアプリは、Rakuten RapidAPI上の Timezone、WeatherImageNewsカテゴリーの頭文字から名づけられました。T.W.I.N. はRakuten RapidAPIマーケットプレイスで見つかる4つのAPIで作られたブラウザベースのダッシュボードです。それほど難しいアプリではないですが、速く簡単に同じものを作成するために幾つか事前に確認しておくことがあります。

経験・理解度

  • javascript、さらにできればVue.jsの経験
  • APIテクノロジーについてのある程度の理解
    145154994857648128.png
    以下で詳しく説明しますが、こちらから動画でご覧頂くこともできます。

今回のAPI

T.W.I.Nアプリを作成するのに必要な4つのAPIはRakuten RapidAPIで見つけることができます。
Capture.PNG
IPInfo: Ipinfo.ioは、ジオロケーション、ホスト名、組織およびその他のデータタイプを提供する無料のIP情報ウェブサービスです。 ipinfo.ioAPIは、指定されたIPを記述するデータフィールドを含むJSON応答を返します。 APIはJSONPコールバックをサポートし、プロキシ検出、スクレイピング防止、改良されたジオロケーション精度など、有料サービスを通じて追加情報を提供できます。
Bing News: このAPIを使用すると、Bingに検索クエリを送信して、関連するニュース記事の一覧を取得できます。
AccuWeather: Superior Accuracy™を使用して時間と分ごとの予測を提供します。
Unsplash: 美しく、なおかつ無料の写真を探せる、フォトグラファーのコミュニティです。

さあ始めよう

ここでは既成のブートストラップ・プロジェクトとして紹介しています。皆さんも同じようにプロジェクトを始めれば、同様のAPIレスポンスを得られるはずです。

  1. 必要なライブラリを追加するほかに、すべてのAPIコールをgetMyLocation、getWeather、getPhotos、 getNewsメソッドに入力します。
    145154996799635456.png

  2. Rakuten RapidAPIは現在APIにアクセスするSDKを2つ有しています。NodeJS SDKと restをシンプルにするライブラリの Unirestです。Rakuten RapidAPIでは徐々に Unirestのインスタンスを使わない方向にありますが、今回のチュートリアルでは両方ともインストールします。上記のリンクからインストールし、皆さんのコードにリクワイアしてください。
    145154996128514048.png

  3. 3行目ではrapidという変数でRapidAPIの新たなインスタンスをコールしていますね。パラメーターを提供する必要がありますが、サインアップすれば自動で入手できます(無料なのでぜひ!)。

  4. サインアップした後はダッシュボードを開き、新しいアプリを作るか既存のデフォルトアプリを使うか決めます。必要なパラメータの追加のしかたは「Connect」で分かります。ダッシュボードはまだRapidAPIインスタンスにありますが、今後数か月でリフレッシュされます。その場合にもあなたのアカウント情報は引き続きご利用頂けます。
    org.png

ロケーション

  1. それではIpInfoでgetMyLocation()に取り掛かりましょう。エンドポイントをテストするためにはログインが必要です。もしまだでしたら今のうちに済ませておいてください。
    144761511709843456.png
  2. 右側にコードスニペットが表示されています。「TEST」をクリックしてレスポンスをチェックしてみましょう。

144761989814362112.png
3. うまく動作しているのを確認してから、戻ってコードスニペットをコピーします。お気に入りのエディターにペーストし、適切な結果になるように手を加えてください。
145154997097394176.png

  • result.body.cityをアサインします
  • 次にresult.body.countryをアサインします
  • parent.getNews(parent)、parent.getWeather()、parent.getPhotos()でほかのメソッドを呼び出します。ロケーションが分かれば、ほかのすべても埋めてみましょう。

4.自動でリロードされる設定でしたらロケーションが表示されるのに気づくはずです。もし表示されていないようでしたら手動で行って結果を確認してください。
145154995201576960.png

ニュース

145681813977501696 (1).png

  1. コードスニペットをコピーし、以下のようにエディットしてみましょう。
    145681812073271296.png
  • result.body.value.slice(0,5)(数値は希望のものに変えてみてください)をアサインします。

2.リロードしてみてください。ニュースが表示されているはずです。

天気

次は天気です。天気のAPIRakuten RapidAPIで幾つかあります。今回はAccuWeather APIを使います。

ロケーション・キー

  1. 東京のロケーションを取得するために、getCurrentConditionsByLocaationKeyエンドポイントを利用したいところです。ですが、そもそもロケーション・キーとは何でしょう?これは位置情報を確認するものです。searchCityWithCountryCodeエンドポイントからロケーション・キーを入手できます。

145681811649662976.png

2.都市名を入力してみましょう。今回は「東京」と入れてください。国番号は「JP」です。テストすれば「キー」が表示されるはずです。

現在の(天気の)様子

3.「キー」を使ってgetCurrentConditionsByLocaationKeyエンドポイントから現在の天気情報を得ましょう。
145680755586830336.png
4.ここまでで何回か繰り返したのと同じです。コードスニペットをコピーして以下のようにエディットしましょう。
145681812102639616.png
5.まずsearchCityWithCountryCodeエンドポイントにスニペットを使い、次にgetCurrentConditionsByLocaationKeyエンドポイントのスニペット、 最後に上でやったようにペイロードを適切な変数にアサインします。
6. リロードすると以下のように表示されます。
145687366397128704.png

写真

  1. 最後に背景写真を変えましょう。
    Unsplashを使います。このAPIを使うにはディベロッパ・ページで登録し、APIキーを入手する必要があります。このAPIのように完全にRakuten RapidAPIプラットフォームと統合していないAPIプロバイダもあります。

  2. アクセス・トークンを入手したら、Search Photosエンドポイントを使って今までと同様にテスト等を行い、必要に応じて修正しましょう。
    145691316504588288.png

  3. リロードするとダッシュボードの完成形が以下のように表示されているはずです。
    145688767026221056.png
    4.ここまでの内容はこちらの動画で確認することもできます。

Rakuten RapidAPIについて

Rakuten RapidAPIは8,000以上のAPIと500,000人を超える開発者が集まる世界最大級のAPIマーケットプレイスです。私たちのミッションはAPIで開発者のアプリ開発を後押しすることです。一か所で必要なAPIすべての検索、テスト、接続ができるRakuten RapidAPIをぜひお試しください!

何かアプリを開発したらFacebookやTwitterでご連絡ください。シリーズで特集されるかも?

Facebook
Twitter: @RakutenAPI_JP

168
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
168
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?