Adobe I/O の REST APIを触ってみよう #AdobeIO #Lightroom #AdobeXD

概要

Adobe I/O にはデスクトップアプリケーションのプラグインだけではなく、Webやモバイルアプリケーション向けのAPIがあります。
今回はWebアプリケーションの中でもLightroom API(Lightroom Classicではなく、Webやモバイルデバイスで画像を閲覧・編集できるLightroomです。)とAdobe XD Cloud Content APIへアクセスするサンプルを作成します。
なお、Lightroom APIはAdobe I/O Consoleより登録することで、誰でも利用できます。

ソースコードはこちらで公開しております。

※本サンプルコードはあくまでAPIの検証用です、本番環境で利用する際は別途セキュリティなどの検討をお願い致します。

構成

Adobe I/O へのアクセスに関係する部分のみコーディングし、それ以外の部分はNode.jsのpackageを利用します。

Client ID, Client Keyなどの管理

クライアントのホスト

OAuth認証

レスポンスの表示

Lightroom API を利用し、Lightroomに保存されている写真を取得する

注意点

Lightroom APIのリクエスト時のresponse type はjsonを指定します(表示用画像を除く)。しかし、不正使用防止のため、レスポンスには “while(1){}” というテキストが1行付与されています。レスポンスを取得した後、アプリケーション側で取り除いてください。

https://lr.adobe.io//v2/health の responseの例

while (1) {} {"version":"311f0aea3ac9dd4000ab7dd94d15383ac4ad06f5"}

Adobe XD Cloud Content APIを利用し、Adobe XDの各アートボードのサムネイル画像を取得する

Adobe XD Cloud Content APIを利用すると、共有リンクの中に含まれるアートボードのサムネイル画像などを取得することができます。APIの詳細についてはこちらの記事(Adobe XDをプロジェクトチームとつなぐ「Cloud Content API」の公開)も参考になります。

(Adobe XD Cloud Content API 利用に必要なAPI keyはAdobe I/O Consoleでは作成出来ません。まずは、 Overview · Adobe XD Cloud Reference (英語)のページの “Get your unique API key”の項目にあるフォームにkeyの取得に必要な情報を入力してサブミットしてください。開発チームより連絡させていただきます。)

Adobe XD Cloud Content APIを利用してアートボードのサムネイル画像を取得するためには、document IDとartboard ID のふたつが必要です。

注意点

まとめ

Lightroom APIとAdobe XD Cloud Content APIを利用する方法についてまとめました。Adobe Lightroomに保存された画像や、Adobe XDのプロトタイプのサムネイル画像を他のアプリケーションで利用することができるようになります。面白い、役に立ちそうなアプリケーションを開発したり、アイデアがひらめいたら、ぜひ #AdobeIO のハッシュタグをつけて、つぶやいてください。