LoginSignup
1
2

More than 3 years have passed since last update.

【初心者用】<PHP編>API利用法 DarkSkyで天気を自動取得、WEBページに組み込む方法

Posted at
1 / 2

こんにちは。
表題の通り、初心者向けのAPI利用法を記載します。

はじめに

以前、こちらの記事にてjQueryを用いた表現方法を用いたのですが、
CORSにより、利用が表現されていました。
本題では無いので、CORSについてはググって確認していただきたいのですが、
ざっくりいうと、
 ・サーバーから許可されていなければ使えない
 ・サーバーサイドからコンタクトすれば問題ない
ということを学んだので、ここに記載します。

ここでやらないこと

CORSの細かい解説
PHPを使うための環境設定

APIを利用しよう

さて、早速ですがPHPにて「DarkSky」のAPIを利用してみたいと思います。

重ねていいますが、DarkSkyの登録方法等は、この稚拙な記事をご確認ください。
API Key の取得までお願いいたします。
API Key の取得まで済んだら、あとはコードを書くだけです。

コードを書こう。

PHPにて下記のように記載します。
あなたのAPI Keyという記載部分にはそのとおりあなたのAPIを記載してください。

dark_sly_test.rb

<?php
//↓API URLを変数に格納
$url = "https://api.darksky.net/forecast/"あなたのAPI Key"/36.0658,139.5221?units=si&lang=ja&exclude=alerts,flags";

//↓格納したURLをjsonにチェンジ!
$json = file_get_contents($url);
$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');

//↓JSONデータを連想配列に!!
$arr = json_decode($json,true);

//配列から1時間後の体感気温を取得!
$nextOneHourTemperature = $arr["currently"]["apparentTemperature"];

//表示事項をまとめる
echo("<h1>darksky.netからAPIで情報取得っ!</h1><br><p>1時間後の体感気温は?</p>".$nextOneHourTemperature."℃だよ!");

これで、こんな感じに表示されます。

スクリーンショット 2019-09-02 23.17.44.png

はいできました。

連想配列である、$arrだけを表示してみると、
色々なものが格納されていますので、必要に応じて内容を確認してみてください。

まとめ

以上、
CORSってなんやねんと思っていたら、サーバーサイドから接続すれば簡単に内容を知ることができたというお話でした。

1
2
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
1
2