Object Body の公開
Kii Cloud では、Object Body を Web ブラウザーから直接参照できる形式でインターネット上に公開する機能を用意しています。
Object Body の公開機能を実行すると、kii.com ドメインのサーバーに対する HTTPS の URL が割り当てられます。エンドユーザーがこの URL を利用すると、Web ブラウザーから Object Body のデータをダウンロードしたり参照したりできます。
URL の例を以下に示します。開発者ポータルでアプリケーションの作成先として日本のサーバーを選択した場合、以下のような URL が発行されます({app_id}
にはアプリケーションの AppID が入ります)。
https://{app_id}.jp.kiiapps.com/api/x/0123456789abcdef012345678
オブジェクトがユーザースコープやグループスコープにある場合でも、Web ブラウザーから参照する場合は誰でも閲覧できる状態になります。Web ブラウザーから参照する際には、認証も行われません。ただし、ファイルを公開する操作を実行するユーザーは、公開するタイミングで、そのオブジェクトへの読み取り権限を持っている必要があります。
有効期限
URL を発行する際には、次の 3 通りの方法で有効期限を指定できます。REST API では一定時間だけ公開するオプションはありません(期間指定の代わりに日時指定を行います)。
- 有効期限を設定せずに公開
- 一定時間だけ公開(例:今から 1 時間だけ公開)
- 指定した日時まで公開(例:3 月 31 日まで公開)
設定した有効期限が過ぎると、URL は無効となりファイルをダウンロードすることができなくなります。Web ブラウザーでアクセスしたときは、HTTP ステータス 410 Gone のエラーとなります。
なお、有効期限内であっても、Object Body が削除されるか、KiiObject が削除された場合は、HTTP ステータス 404 Not Found のエラーとなります。
Content-Type
Web ブラウザーからの参照に備え、Object Body に対する Content-Type を設定できます。Content-Type は HTTPS の応答ヘッダに使用されるため、設定によって Web ブラウザーから参照したときの振る舞いを変えることができます。たとえば、image/jpeg
であれば画像として表示されますが、application/octet-stream
であれば同じデータでもダウンロードする動きになります。
一括転送では、アップロードの時に Content-type を同時に指定します。中断/再開可能な転送の場合は、ファイルの拡張子を元に Content-Type が自動設定されます(拡張子がない場合は application/octet-stream
になります)。
Object Body と URL の関係
KiiObject に用意されている Object Body 公開用の API を呼び出すと、Kii Cloud は URL を発行して Web ブラウザーからアクセスできる状態になります。公開用の API を複数回呼び出した場合は、1 つの KiiObject に複数の URL が紐付くことになります。このイメージを次に示します。
以下の点にご注意ください。
URL は KiiObject に紐付いており、URL にダウンロードされるデータそのものが含まれているわけではありません。新しい Object Body がアップロードされた場合、同じ URL でアクセスしても更新後のデータがダウンロードされます。
有効期限は URL ごとに異なるものを割り当てることもできます。図のように、特定の URL だけ期限切れになることもあります。
一旦公開された URL を、期限切れの前に非公開にすることはできません。非公開にしたい場合は、KiiObject そのものの削除を行います。
ObjectBody を公開するには、Object Body のアップロードを完了しておく必要があります。アップロード中やアップロード前の段階で、公開を予約することはできません。