Adobe Stock API: アプリケーションの登録 #AdobeIO
この投稿について
Adobe I/O デベロッパーブログを読んで頂き有り難うございます。Adobe Stockにフォーカスをあて、数回のシリーズに分けてAdobe Stock APIの導入方法・機能説明・APIコールの使用例を紹介しています。前回の投稿では、Adobe Stock APIの概要を掲載しましたが、本投稿は、導入部分のアプリケーション登録に関してより詳しく掲載しています。
コンテンツ
- アプリケーション登録の前に
- APIの認証要求
- インテグレーションタイプと登録
アプリケーションの登録の前に
アプリケーションを登録して、API Keyを入手する前に、下記の項目を考慮してください。
- どのStock APIを使用し、どのAPIアクセスが認証を必要とするか。
- どの認証方法が開発するアプリケーションに最適か。
上記の項目を明確にしてから、Adobe Console上でアプリケーションを登録する事をお勧めします。Adobe Consoleの使い方については、以前、Adobe I/O デベロッパーブログに投稿した「Adobe I/Oのアプリケーション開発を始める前に #AdobeIO」をご参照ください。
APIの認証リクエスト
現在、Adobe Stockは、アセットの検索と購入が可能なAPIを提供しています。アプリケーションが利用するAPIの種類により、必要となる認証方法を決定します。
ユーザー、または、組織のクレデンシャルを使用して認可されたAPIリクエストは、”Bearer”トークンを含むAuthorizationヘッダーが必要となります。全てのLicence / License History APIリクエストは、Authorizationヘッダーが必須である一方、Search APIリクエストは、任意となります。認可されたリクエストが必要かどうか、下記のStock APIの使用例を参考にご確認ください。
Search API
使用例
- キーワード、カテゴリー、コントリビューターで検索
- 類似イメージの検索
- ファイルの種類、ファイルサイズ、プレミアムレベルでの検索の絞り込み
- サムネイルURLの取得
- カテゴリーリストの取得
認証方法
- API Key: 必須
- Authorizationヘッダー: 任意
- API KeyのみでAPIへアクセスした場合、検索結果は、一般的なもので、特定のユーザーまたは、組織のデータは、含まれません。
- Authorizationヘッダーと共にSearch APIへアクセスした場合、Adobe Stockサービスは、特定のユーザーまたは、組織に紐づいた各アセットのライセンス状態や、購入済の場合は、ライセンスURLを返します。
Licensing API
使用例
- アセットを購入するために必要なクレジット数やイメージ数の取得
- ライセンス状態の取得
- 購入処理
- 購入後の透かしのないオリジナルアセットのダウンロードURLの取得
- 購入履歴の取得
認証方法
- API Key: 必須
- Authorizationヘッダー: 必須
インテグレーションタイプと登録
全てのAdobe Stock APIを統合したアプリケーションは、Adobe I/O Console上で登録されており、下記のインテグレーションタイプから一つを選択する事になります。
- Service Account
サーバー間でのバックエンド認証が行われます。Adobe I/O Console上でAdobeへ公開鍵証明書を共有し、秘密鍵を使用して認証リクエストを署名をする必要があるため、他の認証方法よりも安全です。Adobeと生成された”Json Web Token” (JWT)を交換するスキームとなっており、アプリケーション自体が認証を行い、ユーザーによるサインインは、要求されません。- エンタープライズ版のユーザーのみが利用可能な認証方法となっており、 Adobe I/Oへシステム管理者のクレデンシャルでサインインする必要があります。
- 詳細は、Adobe Stock Service Account workflowをご参照ください。
- Service Accountについては、Adobe Could Platformのドキュメントをご参照ください。
- OAuth
OAuth 2.0とも呼ばれています。この認証方法は、ユーザーがサードパーティ製のアプリケーションにユーザー自身のクレデンシャルを共有する事なく直接Adobeにサインインする事により認証を行うWebスタンダードな仕組みです。アプリケーションのユーザーデータへのアクセスを明確に許可する必要があります。サインインが成功した際に、アプリケーションは、アクセストークンを受け取ります。そのトークンを使用してアプリケーションは、ユーザーの代わりに認可されたAPIリクエストを行います。エンタープライズ版のユーザーでない場合、この認証がLicensing APIへアクセスする唯一の方法となります。- Adobe Stock OAuth integrationの作成に加え、Adobeへのサインインを可能にするために、Creative SDKのintegrationを有効にする必要があります。Creative SDKを使用してのOauth認証については、”Adobe IDによるOAuth認証 #AdobeIO“をご参照ください。
- OAuth integrationsについては、Adobe Cloud Platformドキュメントをご参照ください。
- **API Key
**最も単純な方法で、アプリケーションをAdobe I/O Console上で登録するのみで認証が可能です。Adobe I/Oコンソールは、Stock APIのAPI Keyを発行し、そのAPI Keyは全ての認証リクエストで使用されます。API Keyは、全ての認証方法で必須となりますが、Search APIは、Authorizationヘッダーが任意のため、API Keyのみで認証する事が可能です。その場合は、ユーザーや組織に紐づいたデータへアクセスできません。- 詳細は、Affiliate API Workflow guideご参照ください。
- API Key integrationsについては、Adobe Cloud Platformドキュメントをご参照ください。
**ユースケーステーブル
**
下記のテーブルは、ユースケースに基づき、一般的に使用される(アプリケーションの)インテグレーションタイプを示しています。
*1: OAuth integrationをEnterpriseやDAMアプリケーションで利用出来ますが、通常、ユーザーのAdobe Stockへの直接サインインによる認証ではなく、代わりにアプリケーション自身が認証を行います。
*2: プラットフォームから各ユーザーの所有するAdobe Stockアカウントへアクセスをする場合は、OAuthで認証し、プラットフォーム自身がアセットを購入後にそれらをユーザーへ提供する場合は、Service Accountで認証するのが一般的ですが、ユーザーの定義したワークフローにより異なります。
各ユースケースの違い
- Enterprise
企業がホストするAdobe Stockを統合した内部向けのウェブサービスやアプリケーション等が該当します。アセットを購入した場合、組織全体でそれらのアセットが共有されます。エンタープライズ版のカスタマーは、Service Accountタイプを使用することにより、より安全な認証方法を実装することが可能です。 - Print on Demand (POD)
Print on Demandとは、Adobe Stockのアセットを使用し、発注者の需要に応じて受注し商業印刷を行うモデルとなります。 - Digital Asset Management (DAM)
DAMは、企業が保有するデジタルアセットを特定の場所で集中的に保管、管理すること可能です。Adobe Stockを企業のDAMへ統合することにより購入後のAdobe StockのアセットをDAMへ保存、または、DAMからの検索することが可能になります。 - Merketing Platform
SNS、Eメール、オンライン広告等のコンテンツを作成、管理するプラットフォームを指します。ウェブサービスに加え、デスクトップ、または、モバイルアプリケーションも含まれます。Marketing Platform内で、各ユーザーのAdobe Stockアカウントへアクセスし、購入済みのアセットを使用する場合は、サインインが必要となります。 - Affiliates
個人、または、パートナーの所有するWebサイト、ウィジェット等にAdobe Stockを統合して、それらを媒体にアセットの検索機能のみをシンプルに提供するユースケースです。このユースケースは、Search APIのみを使用するため、認証の必要がありません。アセットは、直接、Adobe Stock ウェブサイトでライセンスされます。
関連リンク
- Adobe I/O – Adobe Stock
- Getting started with the Adobe Stock API
- Adobe I/O Authentication Overview
- ワークフローガイド: 特定のユースケースについて必要な情報を提供します。
- サンプルコードとSDK: Githubからダウンロード可能です。
- Adobe Stock API リファレンス: 全てのAPIコール、コールヘッダー、ロケールの詳細が掲載されています。
デベロッパーブログ記事一覧
- デベロッパー向け技術情報を日本から発信します #AdobeIO
- Adobe I/Oのアプリケーション開発を始める前に #AdobeIO
- Adobe Stock APIの紹介 #AdobeIO
- Adobe IDによるOAuth認証 #AdobeIO
次回のブログ
次回は、認証ヘッダーとAPIコールの使用例を説明します。
投稿者
Eiichi Fukushima