画像をパラメータに含むWebAPIの仕様をみてみる

こんにちは。タイカレーにそうめんをつっこんでたべました、きたけーです。

以前、shopify の WebAPI のドキュメントを読んでいる - きたけーTechブログ で、画像をWeb APIで扱うことについて少し触れたので、今日は実際のサービスでの仕様をみてみます。

URL

画像のURLを指定する形式。 クライアントからすると、既にどこかにアップロードしてURLで参照できるならば、APIを利用するための手間は少ない。(逆にいうと、どこにもアップロードしていない場合は面倒)

shopify ( Product - Shopify API - Developer Resources ) や kraken.io ( Upload and Image URL · Kraken.io ) が、この形式に対応している。

base64

画像をbase64に変換する形式。 こちらもURLの指定ほど簡単ではないが、base64に変換できるライブラリがあるならば、APIを利用するための手間は大したことはなさそう。そのかわり、変換によってデータサイズが増えるのが気になる。

ちなみにRubyだとこんなかんじ。

require 'base64'

data = Base64.encode64(File.read('./source.jpg'))
puts data # 変換結果
source = Base64.decode64(data)

shopify ( Product - Shopify API - Developer Resources ) が、この形式に対応している。

multipart/form-data

multipart/form-data形式を利用する。 こちらも対応しているhttpクライアントがつかえるならば、問題なさそう。

kraken.io ( Upload and Image URL · Kraken.io ) と Yahoo! ( ショッピング:商品画像アップロードAPI - Yahoo!デベロッパーネットワーク ) が、この形式に対応している。