カスタム・レンディションのアップロード
/documents/api/1.2/files/{fileId}/data/rendition
マルチパート・リクエストを使用して、カスタム・レンディション・ファイルを最新のファイル・バージョンにアップロードします。 指定された名前は、ファイル・バージョン内でこのレンディションを一意に識別するために使用されます。
リクエスト
- multipart/form-data
- fileId: string
ファイルのグローバル一意識別子(GUID)。
- accessToken(optional): string
現在のユーザーに親フォルダまたはこのファイルにアクセスすることを許可するApplinkアクセス・トークン。 このパラメータは、
appLinkIDが使用されている場合は必須です。 これはaccessTokenまたはAccessTokenとして使用できます。 - appLinkID(optional): string
現在のユーザーに親フォルダまたはこのファイルにアクセスすることを許可するApplink ID。 パラメータ
appLinkIDが使用されるときはいつでも、パラメータaccessTokenも提供されなければなりません。 働くには、このapplinkは、少なくともコントリビュータ・ロールが付与されていなければなりません。 appLinkIDまたはAppLinkIDとして使用できます。 - dAccessCode(optional): string
保護されたパブリック・リンクを使用するために必要なアクセス・コード。 次の形式のCookieヘッダーの一部として送信する必要があります:
dAccessCode-<linkID>=<passcodeValue> - linkID(optional): string
現在のユーザーにこのファイルへのアクセスを許可する、パブリック・リンクのパブリック・リンクID。 linkIDまたはLinkIDとして使用できます。
- file: file
アップロードするカスタム・レンディション・ファイル。
- jsonInputParameters: string
このパラメータを使用して、
nameパラメータおよびdescriptionパラメータを、リクエストのあるJSONペイロードとして含めることができます。nameを、ファイルの最新のリビジョン・スコープ内のこのカスタム・レンディションの一意の識別子として設定します。
たとえば:nameパラメータは、このJSONペイロードの一部として送信する必要があります。 このパラメータは必須です。{"name": "smallCustomRendition"
}nameには次の制限が適用されます:nameの長さは28文字を超えることはできません。nameパラメータでは、大/小文字は区別されません。つまり、smallRenditionとsmallrenditionは同じとみなされます。nameパラメータは、英語、数字、ハイフン文字およびアンダースコア文字のみに制限されます。 その他の文字を使用すると、エラーが発生します。
descriptionパラメータは、このJSONペイロードの一部として送信できます。 このパラメータはオプションです。たとえば:
{"name": "smallCustomRendition",
"description": "これはこのファイルの小さなレンディション・バージョンです"
}
レスポンス
- application/json
- application/xml
200レスポンス
作成されました。 リクエストが処理され、新規のリソースが作成されました。
object- errorCode(optional): number
エラー・コードがゼロ(0)の場合は、エラーなしです
- id(optional): string
ファイルのグローバル一意識別子(GUID)
- type(optional): string
アイテム・タイプ
file。
{
"id":"D3C1C1F319CFE6B102095C5DT0000000000100000001",
"type":"file",
"errorCode":"0"
}
400レスポンス
必須パラメータがないか、無効なパラメータが指定されました。
403レスポンス
ユーザーに書込み権限がない場合は禁止されています。
404レスポンス
ファイルIDが見つかりません。
409レスポンス
指定されたnameを使用したカスタム・レンディションは、最新バージョンにすでに存在します。
例
次の例では、smallという名前のカスタム・レンディション・イメージを既存のファイルの最新リビジョンにアップロードします。
POST .../files/D3C1C1F319CFE6B102095C5DT0000000000100000001/data/rendition
リクエスト・ヘッダー
Content-Type: multipart/form-data; boundary=---------------------------7dc7c172076a
リクエスト本文
-----------------------------7dc7c172076a
Content-Disposition: form-data; name="file"; filename="smallJellyfish.png"
Content-Type: image/jpeg
<CONTENT OF IMAGE FILE>
-----------------------------7dc7c172076a
Content-Disposition: form-data; name="parameters"
Content-Type: application/json
{
"name":"small",
"description":"jellyfish small custom rendition"
}
-----------------------------7dc7c172076a--
HTTPステータス・コード
HTTP_STATUS = 200
JSONレスポンス
{
"errorCode": "0",
"id": "D3C1C1F319CFE6B102095C5DT0000000000100000001",
"type": "file"
}
例2
次の例では、smallという名前のカスタム・レンディション・イメージを既存のファイルの最新リビジョンにアップロードします。 このファイルの最新リビジョンには、すでにsmallという名前のカスタム・レンディションがあります。
POST .../files/D3C1C1F319CFE6B102095C5DT0000000000100000001/data/rendition
リクエスト・ヘッダー
Content-Type: multipart/form-data; boundary=---------------------------7dc7c172076a
リクエスト本文
-----------------------------7dc7c172076a
Content-Disposition: form-data; name="file";
filename="smallJellyfish.png"
Content-Type: image/jpeg
<CONTENT OF IMAGE FILE>
-----------------------------7dc7c172076a
Content-Disposition: form-data; name="parameters"
Content-Type: application/json
{
"name":"small",
"description":"jellyfish small custom rendition version 2"
}
-----------------------------7dc7c172076a--
HTTPステータス・コード
HTTP_STATUS = 409
JSONレスポンス
{
"errorCode": "-17",
"errorKey": "!csRenditionsUnableToAddDuplicateName,small",
"errorMessage": "The 'small' attachment already exists. No attachments will be added.",
"errorType": "file",
"id": "D3C1C1F319CFE6B102095C5DT0000000000100000001",
"title": "The 'small' attachment already exists. No attachments will be added.",
"type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
例3
次の例では、nameパラメータのないカスタム・レンディション・イメージを、既存のファイルの最新のリビジョンにアップロードします。
POST .../files/D3C1C1F319CFE6B102095C5DT0000000000100000001/data/rendition
リクエスト・ヘッダー
Content-Type: multipart/form-data; boundary=---------------------------7dc7c172076a
リクエスト本文
-----------------------------7dc7c172076a
Content-Disposition: form-data; name="file";
filename="smallJellyfish.png"
Content-Type: image/jpeg
<CONTENT OF IMAGE FILE>
-----------------------------7dc7c172076a
Content-Disposition: form-data; name="parameters"
Content-Type: application/json
{
"description":"this is my custom rendition"
}
-----------------------------7dc7c172076a--
HTTPステータス・コード
HTTP_STATUS = 400
JSONレスポンス
{
"errorCode": "-97",
"errorKey": "!csRequiredFieldMissing,name",
"errorMessage": "Required field 'name' is missing.",
"errorType": "file",
"id": "D3C1C1F319CFE6B102095C5DT0000000000100000001",
"title": "Required field 'name' is missing.",
"type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
例4
次の例では、applinkRenditionという名前のカスタム・レンディション・イメージを既存のファイルの最新リビジョンにアップロードします。 このファイルは現在のユーザーが所有していない、または共有していないフォルダ構造の下にあるため、この例ではapplink IDを使用しています。 applink IDとアクセス・トークンはリクエスト・ヘッダーに送信されます。
POST .../files/DED694950C14AFF280419F9AB5D17B95F47087F4E518/data/rendition
リクエスト・ヘッダー
Content-Type: multipart/form-data; boundary=---------------------------7dc7c172076a appLinkID: LF5Bxj4TPo_p4n4qWn0tbKTicR2cTUJKv7X_ng9E7ry93rRuDokPqS1d6-wKwhb_wtcGYFDsI_cNMxeKQ-HR-FXQhiVoGRTYM_MPZY8qpICfYU94mmnMjM_cvsRhKMzc0NJgvwEJfqqDwPsAVrhc8cmg== accessToken: 352FpiMmW66PeYI1Gh5b83I9CXRwZhLfYAu4TXdqpzD8uNKUBMZVVJ3ZvivUW8kQ
リクエスト本文
-----------------------------7dc7c172076a
Content-Disposition: form-data; name="file"; filename="appLinkCustomRendition.png"
Content-Type: image/jpeg
<CONTENT OF IMAGE FILE>
-----------------------------7dc7c172076a
Content-Disposition: form-data; name="parameters"
Content-Type: application/json
{
"name":"applinkRendition",
"description":"custom rendition via applink"
}
-----------------------------7dc7c172076a--
HTTPステータス・コード
HTTP_STATUS = 200
JSONレスポンス
{
"errorCode": "0",
"id": "DED694950C14AFF280419F9AB5D17B95F47087F4E518",
"type": "file"
}