Unsplash

Unsplash APIでブログ画像を効率的に埋め込む方法

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
デザイン本が読み放題

Figma・UI/UX・配色の深いノウハウを

動画・記事の断片情報より、1冊の体系書籍のほうが圧倒的に速い。Kindle Unlimited対象のデザイン書籍が豊富です。

Kindle Unlimited 30日無料▶ Audible|デザイン発想本を耳で▶

▶ デザイン→エンジニアリングの橋渡しに興味があれば プログラミング / エンジニア転職 もどうぞ。


タイプ別にすぐ選べる

クリエイティブの引き出し、どう増やす?

Figma・UI/UX・配色・タイポグラフィ。"手を動かす"学びと"発想力を磨く"学びは、使うサブスクが違います。

▷ Figma・UI/UX・配色の具体テクニックを体系化したい実務デザイナー

Kindle Unlimited 30日無料|デザイン本読み放題▶

▷ ブランド・発想・ディレクション系のインプットを"耳で"増やしたい人

オーディオブックAudible

※無料期間中の解約で料金発生なし

▶ デザイン→エンジニアリングの橋渡しに興味があれば プログラミング / エンジニア転職 もどうぞ。


スポンサードリンク

アクセストークンの取得手順(API KEY/OAuth)

Unsplash APIを利用するためにアクセストークンの取得は必須です。このトークンは、リクエストの認証に使用されるため、適切な管理が求められます。

1. アプリケーション登録とClient ID/Secret Keyの取得

Unsplash Developersサイトでアプリケーションを登録し、Client IDとSecret Keyを取得します。OAuth認証ではこれらの情報が必要です。公式サイトの「Get Started」から手続きが可能です。

注意:Client IDとSecret Keyは機密情報であるため、リポジトリや公開環境に含まれないよう管理してください。


2. OAuth認証フローの基本手順

OAuth 2.0フローでアクセストークンを取得するには、以下のような手順が一般的です:

  1. 認可コードの取得
    https://unsplash.com/oauth/authorize?client_id=XXX&redirect_uri=XXXにリダイレクトし、ユーザーが承諾すると認可コードが発行されます。

  2. アクセストークンとリフレッシュトークンの交換
    認可コードを使用して、https://api.unsplash.com/oauth/tokenにPOSTリクエストを送信します。以下のコマンド例をご覧ください:


3. トークン有効期限の管理とセキュリティ対策

発行されたアクセストークンは1時間の有効期間を持ち、リフレッシュトークンを使用して再取得可能です。PHPやReactアプリでは、トークンの保存方法に注意が必要です(例:ローカルストレージ、セッション)。

重要ポイント
- アクセストークンは常にHTTPS経由で通信することを推奨します。
- リフレッシュトークンは厳密に保護し、アクセス権の過剰な拡散を防ぎましょう。


画像検索APIエンドポイントの使い方

Unsplash APIではGET /search/photosエンドポイントを使用して画像を検索できます。検索キーワードや絞り込み条件をクエリパラメータで指定可能です。

クエリパラメータの設定と例

パラメータ 説明
query 検索キーワード(必須) sunset
page ページ番号 2
per_page 1ページあたりの画像数 5

ページネーションとキャッシュ戦略

繰り返し同じ検索をするとパフォーマンスに影響が出るため、キャッシュの導入(例:Redis、ファイルキャッシュ)が有効です。

セキュリティ警告:PHP例では$_GETを直接使用しています。不正な入力やSQLインジェクションのリスクに注意し、入力を検証する処理(例:filter_var())を追加してください。


レスポンスデータから画像URLを抽出する方法

Unsplash APIが返すJSONには、urlsフィールドにさまざまなサイズの画像URLが含まれています。それぞれの用途に応じた抽出方法を確認しましょう。

サムネイルとフルサイズURLの比較表

URL種類 説明 使用例
raw 拡張可能なベースURL(画像処理パラメータ追加可) Imgix連携などに使用
full フルサイズのリンク(ブログ投稿向け) <img src="https://unsplash.com/photos/123456789">
small 低解像度画像(サムネイル用) プレビュー表示に最適

JSON構造解析とエラーハンドリング

以下のJSON構造からデータを抽出できます:

JavaScriptでのエラーハンドリング例は以下の通りです:


ブログ記事への埋め込みコード実装例

画像URLを取得したら、HTMLやReactコンポーネントでブログへ埋め込みます。PHPでも動的に表示可能です。

HTMLでの直接埋め込み


Reactコンポーネントの作り方

画像データをAPIから取得し、<img>タグで表示する例です:


PHPでの動的表示処理


Unsplashとデザイナーとの連携の特徴

Unsplashは、デザイン業界との協力体制が整っているため、プロフェッショナルな画像素材を豊富に提供しています。以下がその主な特徴です。

  1. プロ向けのライブラリ提供
    デザイナーが撮影した高品質画像をすぐに公開・利用可能です。

  2. 商用利用の自由度
    利用シーンや目的に関係なく、クリエイターが商用利用できます。

  3. 投稿者の追跡と認知向上
    画像素材へのアクセス履歴を元に、撮影者に利益還元が可能です。


Imgixとの連携による画像最適化

Unsplash APIから取得したURLにImgixのパラメータを追加することで、ブログ表示時のロード速度や画質の最適化が可能になります。

リサイズ/品質調整の具体例

パラメータ 種類 作用
w 数値型 幅指定(例:w=400
q 数値型 品質調整(例:q=75
auto=format&lossless=true 論理型 画像フォーマットの自動選択と無損失圧縮

Imgix利用時の注意点

  • ライセンス条件:Imgixは有料ライセンスが必要な場合があります。導入前に公式サイトで確認してください。
  • パフォーマンスリスク:Imgixが提供するCDNや画像処理に過度に依存すると、リソースの冗長化につながる可能性があります。

無料アカウント登録後の即時実装ガイド

Unsplash API無料アカウントを取得後、以下の手順でコードをコピー・貼り付けし、すぐに画像表示テストを行ってください。

1. コードのコピー・貼り付け手順

  • Unsplash DevelopersからClient IDとSecret Keyを取得します。
  • 上記で解説したPHPコードやReactコンポーネントをプロジェクトに反映させます。

2. エラー発生時のトラブルシューティング

  • 401認証エラー:アクセストークンの有効期限切れまたは不正なトークン。
  • 5xxサーバーエラー:Unsplash API側の障害(公式Twitterで確認)。

3. 実装後の確認ポイント

  • ブログ記事内に画像が表示されているか
  • クロスドメインリソース読み込みがブラウザで許可されているか
  • ImgixパラメータがURLに正しく追加されているか

無料アカウント登録後、本文で紹介したコードを即実装してみてください。Unsplash APIはコストゼロかつ高品質な画像素材の活用に最適です。

スポンサードリンク

お得なお知らせ

スポンサードリンク
デザイン本が読み放題

Figma・UI/UX・配色の深いノウハウを

動画・記事の断片情報より、1冊の体系書籍のほうが圧倒的に速い。Kindle Unlimited対象のデザイン書籍が豊富です。

Kindle Unlimited 30日無料▶ Audible|デザイン発想本を耳で▶

▶ デザイン→エンジニアリングの橋渡しに興味があれば プログラミング / エンジニア転職 もどうぞ。


タイプ別にすぐ選べる

クリエイティブの引き出し、どう増やす?

Figma・UI/UX・配色・タイポグラフィ。"手を動かす"学びと"発想力を磨く"学びは、使うサブスクが違います。

▷ Figma・UI/UX・配色の具体テクニックを体系化したい実務デザイナー

Kindle Unlimited 30日無料|デザイン本読み放題▶

▷ ブランド・発想・ディレクション系のインプットを"耳で"増やしたい人

オーディオブックAudible

※無料期間中の解約で料金発生なし

▶ デザイン→エンジニアリングの橋渡しに興味があれば プログラミング / エンジニア転職 もどうぞ。


-Unsplash