その1で流れを理解した次は、本やWeb上に転がっている、サンプルコードを自分で変えて、自分の希望に近づけることです。これができれば、自分の作りたいアプリができるようになります。今回は、いくつか事例を出して、サンプルコードの解説をします。
楽天トラベルAPIで呼び出し表示してみる。
楽天APIで、楽天市場の商品を呼び出し、表示ができました。
今度は、楽天トラベルを使って、特定住所で宿・ホテルを安い順に並べて表示させるコードを書いていきます。
テストコードを参考にしてみる
楽天ウェブサービスの、ホーム > ツール > APIテストフォームで、getかpostで、テスト送信ができます。
リクエストURL、パラメータの記載例が表示されるので、とても参考になります。
APIを利用することで、外部サービスの機能やデータにアクセスしたり、自身のアプリケーションの機能やデータを外部から利用可能にすることができます1。
以下は、PHPを使用したAPI連携の基本的な流れです。
- APIキーの取得: 外部サービスのAPIを利用するためには、通常APIキーが必要です。外部サービスの開発者向けページなどからAPIキーを取得します。
- HTTPリクエストの送信: PHPの
curl
関数やfile_get_contents
関数などを使用して外部APIに対してHTTPリクエストを送信します。 - レスポンスの処理: 外部APIからのレスポンスを受け取り、必要な情報を抽出して処理します。
- データの利用: 取得したデータを自身のアプリケーションで利用します。
以下は、外部APIからデータを取得するためのPHPのサンプルコードです。
PHPコード
<?php
// APIキー
$api_key = 'YOUR_API_KEY';
// APIエンドポイント
$api_endpoint = 'https://api.example.com/data';
// HTTPリクエストを送信
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $api_key,
'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
// レスポンスの処理
$data = json_decode($response, true);
if ($data) {
// データの利用
foreach ($data as $item) {
echo $item['name'] . ': ' . $item['value'] . PHP_EOL;
}
} else {
echo 'データの取得に失敗しました。';
}
?>
今度は、YahooAPIを使って、移住支援対象求人の情報を呼び出す
YahooAPIを使うには、Yahooのアカウントはもちろんのこと、クライアントIDとAPIキーが必要です。
そして、リクエストURLに、フィールド値「subsidyImmigration(対象なのでさらに「=1」)追加」を追加します。➡①
<?php
$url = file_get_contents('https://job.yahooapis.jp/v1/furusato/jobinfo/?appid=dj00aiZpPW9BNkFOWWZrRlRvOSZzPWNvbnN1bWVyc2VjcmV0Jng9ZmI-&subsidyImmigration=1');//①
$response = json_decode($url, true);
//$title = $response['results'][0]['title'];
//print $title;
$data_length = $response['count'];
print "<ul>";
for ($i=0; $i<$data_length; $i++){
//print $i;
$title = $response['results'][$i]['title'];
$kyuujin_url = $response['results'][$i]['receptionUrl'];
print "<li>";
print "<a href=".$kyuujin_url.">".$title."</a>";
print "</li>";
}
print "</ul>";
?>
上のコードを実行すると、リスト形式で10件の移住支援金対象求人のテキストリンクが表示されます。あとは、ご自分でサムネイルやCSSを改変すれば、完成です。
あと、もう一つほかのAPIを使ってみましょう。
コメント