ファイルをダウンロードする

目次

ファイルをダウンロードする

添付ファイルフィールドのファイルキーを指定して、ファイルをダウンロードします。
ファイルキー

URL

通常のアプリ
https://sample.cybozu.com/k/v1/file.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/file.json

HTTPメソッド

GET

必要なアクセス権

  • アプリのレコード閲覧権限
  • ダウンロードするファイルが添付されたレコードの閲覧権限
  • ダウンロードするファイルが添付されたフィールドの閲覧権限

リクエスト

パラメーター
パラメーター名 必須 説明
fileKey 文字列 必須 ダウンロードするファイルのファイルキー
レコードを取得するAPIなどで取得したファイルキーを指定します。
リクエストの例(URLにパラメーターを含める場合)
URL

https://sample.cybozu.com/k/v1/file.json?fileKey=201202061155587E339F9067544F1A92C743460E3D12B3297

ヘッダー
1
2
3
{
  "X-Cybozu-API-Token": "API_TOKEN"
}

リクエストヘッダーの詳細は共通仕様を参照してください。
kintone REST APIの共通仕様

リクエストの例(リクエストボディにパラメーターを含める場合)
URL

https://sample.cybozu.com/k/v1/file.json

ヘッダー
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

リクエストヘッダーの詳細は共通仕様を参照してください。
kintone REST APIの共通仕様

ボディ
1
2
3
{
  "fileKey": "201201e271307126747563577E9431C85B3B26D4AFB1509193"
}

レスポンス

ヘッダー

レスポンスヘッダーのContent-TypeにダウンロードしたファイルのMIMEタイプが返ります。
レスポンスボディには、ファイルの内容が入ります。

サンプルコード

curlを使ったリクエスト
1
2
3
curl -X GET 'https://sample.cybozu.com/k/v1/file.json?fileKey=201202061155587E339F9067544F1A92C743460E3D12B3297' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -o ./sample.txt
WebブラウザーのFetch APIを使ったリクエスト

Fetch APIの詳細は次のページを参照してください。
Fetch API (External link)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
try {
  const {record} = kintone.app.record.get();
  const {fileKey} = record['添付ファイル'].value[0];
  const headers = {
    'X-Requested-With': 'XMLHttpRequest',
  };
  const resp = await fetch(`/k/v1/file.json?fileKey=${fileKey}`, {
    method: 'GET',
    headers,
  });
  const blob = await resp.blob();
  const url = window.URL || window.webkitURL;
  const blobUrl = url.createObjectURL(blob);
  console.log(blobUrl);
} catch (err) {
  console.error(err);
}

ファイルキー

ファイルのアップロードやダウンロードで使用する「ファイルキー」は、次の2種類あります。

  • ファイルをアップロードするAPIのレスポンスとして取得するファイルキー
    ファイルをアップロードするAPI
    • 例:c15b3870-7505-4ab6-9d8d-b9bdbc74f5d6
    • 一時保管領域に保存されたファイルを、添付ファイルフィールドなどに関連付けるときに使用します。
    • このAPIで指定するファイルキーではありません。
  • レコードを取得するAPIなどで取得する、添付ファイルのファイルキー
    レコードを取得するAPI
    • 例:201202061155587E339F9067544F1A92C743460E3D12B3297
    • 添付ファイルフィールドなどから、ファイルをダウンロードするときに使用します。
    • このAPIで指定するファイルキーです

制限事項