PHPでWebAPIを呼び出す基礎知識ーその2

woman in black and white striped long sleeve shirt lying on white bed 未分類

その1で流れを理解した次は、本やWeb上に転がっている、サンプルコードを自分で変えて、自分の希望に近づけることです。これができれば、自分の作りたいアプリができるようになります。今回は、いくつか事例を出して、サンプルコードの解説をします。

楽天トラベルAPIで呼び出し表示してみる。

楽天APIで、楽天市場の商品を呼び出し、表示ができました。

今度は、楽天トラベルを使って、特定住所で宿・ホテルを安い順に並べて表示させるコードを書いていきます。

テストコードを参考にしてみる

楽天ウェブサービスの、ホーム > ツール > APIテストフォームで、getかpostで、テスト送信ができます。

リクエストURL、パラメータの記載例が表示されるので、とても参考になります。

APIを利用することで、外部サービスの機能やデータにアクセスしたり、自身のアプリケーションの機能やデータを外部から利用可能にすることができます1

以下は、PHPを使用したAPI連携の基本的な流れです。

  1. APIキーの取得: 外部サービスのAPIを利用するためには、通常APIキーが必要です。外部サービスの開発者向けページなどからAPIキーを取得します。
  2. HTTPリクエストの送信: PHPの curl 関数や file_get_contents 関数などを使用して外部APIに対してHTTPリクエストを送信します。
  3. レスポンスの処理: 外部APIからのレスポンスを受け取り、必要な情報を抽出して処理します。
  4. データの利用: 取得したデータを自身のアプリケーションで利用します。

以下は、外部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 'データの取得に失敗しました。';
}
?>

このサンプルコードでは、外部APIからJSON形式のデータを取得し、取得したデータを処理しています。API連携は、異なるシステム間でデータのやり取りや機能の共有を行うための重要な手法です。PHPを使用して外部APIと連携する際には、APIキーの取得からHTTPリクエストの送信、レスポンスの処理、データの利用までの流れを理解し、適切に実装する

今度は、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を使ってみましょう。

コメント

タイトルとURLをコピーしました