概要
Adobe I/O には
ソースコードは
※本サンプルコードは
構成
Adobe I/O への
Client ID, Client Keyなどの
- .env ファイルににこれらの
情報を 環境変数として 設定します。
クライアントの
- Node.js の
Expressで アプリケーションを ホストします。 - Adobe I/O の
OAuth の Callback は https が 必須なので、 http-proxyを 用いて、 httpsの リクエストを 内部の http サーバー(express)に 転送します。 bin/www.js を 参照してください。
OAuth認証
- Lightroom, Adobe XD Cloud Content の
APIに アクセスする際には OAuth認証が 必要です。 Passport.js とPassport.js の Adobe OAuth 2.0 向けの Strategy を利用します。
レスポンスの
- Expressで
一般的に 利用される テンプレートエンジンの Pugを 利用します。 - レスポンスの
Jsonデータを 整形して 表示するために jQuery json-viewerを 利用します。
Lightroom API を利用し、Lightroomに保存されている写真を取得する
- まずは、
lr_partner_apis の scopeを リクエストする (Passport.js の use() メソッド で設定します。 設定値は ここの行を してください。参照 )ことで、 Lightroom APIを 利用できる tokenを 取得します。 - Lightroomに
保存されている 写真を 取得するには catalog ID と asset ID の 2つが 必要ですが、 tokenの 取得後に 次の順序で APIを 呼び出すことで、 catalog IDと asset IDの 両方を 取得出来ます。 /v2/catalog(catalog ID取得)/v2/catalogs/{catalog ID}/Assets(asset IDを 取得) - もしくは、
catalog IDと album IDを 取得後に asset IDを 得る事もできます。 /v2/catalog(catalog IDを取得) /v2/catalogs/{catalog ID}/albums(album IDを取得) /v2/catalogs/{catalog ID}/albums/{album ID)/assets(asset IDを取得) - catalog ID と
asset IDを 取得後、 次の APIを 呼び出すことで Lightroomに 保存された 画像の 表示用画像(rendition)を 取得することができます。 Rendition の 種類は’thumbnail2x’, ‘640’, ‘1280’, ‘2048 から 選択できます。 /v2/catalogs/{catalog_id}/assets{asset_id}/renditions/{rendition_type}
注意点
Lightroom APIの
https://lr.adobe.io//v2/health の
while (1) {} {"version":"311f0aea3ac9dd4000ab7dd94d15383ac4ad06f5"}
Adobe XD Cloud Content APIを利用し、Adobe XDの各アートボードのサムネイル画像を取得する
Adobe XD Cloud Content APIを
(Adobe XD Cloud Content API 利用に
Adobe XD Cloud Content APIを
/v2/apiより、リンクの URLから、 document ID を 取得します。 response headerの link プロパティに 含まれています。 /v2/document/{document ID}より、documentに 含まれる artboardの artboard ID を 取得します。 /v2/document/{linkID}/artboard/{artboardID}より、artboard の サムネイル画像の URLを 取得出来ます。
注意点
- /v2/api の
HTTPリクエストメソッドは OPTIONSです。 GETではありません。 - 非公開リンク
(招待された ユーザーのみが アクセスできる リンク)へ アクセスする 場合は OAuth認証が 必要です。 - OAuth の
scopeに creative_sdkを 含めて、 acceess tokenを 取得し、 Cloud Content APIの リクエストに、 取得した access tokenを 含めてください。 (リクエストヘッダーの ヘッダーの Authorizationフィールドに “Bearer {accessToken}”を 付与してください) - パスワードで
保護された リンクに ついては、 Cloud Content API経由での 情報取得はできません。 (401 エラーが 返ってきます)
まとめ
Lightroom APIと