このページではソースコードの一部分を簡単な解説をしています。
作成したプログラムのコードはgithubにあります。
その他、作成したアプリやゲームの一覧はこちらにあります。
概要
写真をFlickr APIから取得し、名言は名言教えるよ!から取得して同時に表示するアプリを作成しました。
Flickr APIを利用する準備
Flickr APIを利用するにはアカウントを作成してAPI keyを取得する必要があります。こちらのページからアカウントを作成してログインするとAPI keyを取得できます。
Flickr APIのエンドポイントとメソッド
エンドポイントはhttps://api.flickr.com/services/rest/になります。今回はFlickr APIメソッドのflickr.photos.searchを利用してフリーワード検索で写真を取得しました。その他のFlickr APIメソッドの一覧はこちらのページにあります。
PHPのcURL関数を利用してAPIを叩く
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
// リクエストURLの作成 $flickrApiUrl = 'https://api.flickr.com/services/rest?'; // エンドポイント $flickrQuery = [ 'method' => 'flickr.photos.search', // Flickr APIメソッド 'api_key' => '', // <-- ここにあなたのapikeyを設定してください。 'text' => 'cuteanimal', // 画像検索するワードを指定 'format' => 'json', // フォーマットを指定 'nojsoncallback' => '?', // 値を入れるとJSON/JSONP形式出力時にコールバック関数を呼び出さない 'extras' => 'url_z' // 画像サイズを指定 ]; $flickrApiUrl .= http_build_query($flickrQuery); // cURL関数を利用してHTTPリクエストをする function getApi($url) { $ch = curl_init(); curl_setopt_array( $ch, [ CURLOPT_URL => $url, // URLの指定 CURLOPT_HEADER => false, // ヘッダーの有無 CURLOPT_RETURNTRANSFER => true, // データを文字列に変換するか CURLOPT_SSL_VERIFYPEER => false, // SSL証明書の検証をするか CURLOPT_TIMEOUT => 30, //タイムアウトする時間(秒) CURLOPT_FAILONERROR => true // エラーコードを出すか ] ); $html = curl_exec($ch); if (curl_error($ch)) { $error_msg = curl_error($ch); } curl_close($ch); if (isset($error_msg)) { // ここにエラー処理を書く } curl_close($ch); $json = json_decode($html); return $json; } $flickrJson = getApi($flickrApiUrl); $photo = $flickrJson->photos->photo[0]->url_z; |
クエリパラメータのAPI keyはご自身で取得したkeyを設定してください。その他のクリエパラメータはフリーワードとjsonで取得と画像サイズを設定しました。画像サイズを表す接尾記号はこちらのページで確認できます。上記のプログラムを実行すると取得したデータの1番目の画像URLが表示されます。
最後までお読みいただきありがとうございました。
作成したプログラムのコードはgithubにあります。
その他、作成したアプリやゲームの一覧はこちらにあります。