File - masaru-takano/DeviceConnect-Spec GitHub Wiki

概要

スマートデバイスに対してのファイル操作機能を提供するAPI。

目次

API 概要
GET /gotapi/file スマートデバイスへの、テキスト(歩数、消費カロリー、睡眠時間などのバイナリーの任意のデータ)や画像、音声、動画(リソースも含む)を受け取る。
POST /gotapi/file スマートデバイスに対して、テキストや画像、音声、動画(リソースも含む)を渡す。
PUT /gotapi/file ファイルパスで指定したテキストや画像、音声、動画(リソースも含む)の名前を変更、移動をする。
DELETE /gotapi/file ファイルパスで指定したテキストや画像、音声、動画(リソースも含む)を削除する。
GET /gotapi/file/directory 保存されているファイルの一覧を取得する。
POST /gotapi/file/directory ディレクトリの作成要求を渡す。
PUT /gotapi/file/directory ディレクトリの名前の変更、移動要求を渡す。
DELETE /gotapi/file/directory ディレクトリの削除要求を渡す。
GET /gotapi/file/list 保存されているファイルの一覧を取得する。

種別

one-shot

概要

スマートデバイスへの、テキスト(歩数、消費カロリー、睡眠時間などのバイナリーの任意のデータ)や画像、音声、動画(リソースも含む)を受け取る。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
path string Yes ファイルパス。ファイル名とパス

レスポンス

物理名 データ型 必須 説明
result integer Yes 処理結果
0: 正常応答
0以外: 異常応答
product string Yes DeviceConnectシステムの名前
mimeType string Yes MimeType
URIデータのMimeType
version string Yes DeviceConnectシステムのバージョン名
uri string Yes URI
ContentProviderのURI
このURIからデータを読み込む
hmac string No レスポンスに対する署名
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "mimeType" : "image/png",
  "uri" : "http://localhost:4035/gotapi/files?uri=content%3A%2F%2FTest.png"
}

種別

one-shot

概要

スマートデバイスに対して、テキストや画像、音声、動画(リソースも含む)を渡す。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
path string Yes ファイルパス。ファイル名とパス
mimeType string No MimeType。送信するファイルのMimeType
uri string No URI。このURIに送信するデータを格納する。dataと同時に省略することはできない。両方指定した場合はdataが優先され、uriは無視される。
data file No ファイルのbinary。送信するファイルのbinary。uriと同時に省略することはできない。両方指定した場合はdataが優先され、uriは無視される。
forceOverwrite boolean No 上書きフラグ。
true : 既にpath名と同じファイルがある場合は上書きされる。
false : 既にpath名と同じファイルがある場合は上書きされない。

レスポンス

物理名 データ型 必須 説明
result integer Yes 処理結果
0: 正常応答
0以外: 異常応答
product string Yes DeviceConnectシステムの名前
version string Yes DeviceConnectシステムのバージョン名
hmac string No レスポンスに対する署名
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}

種別

one-shot

概要

ファイルパスで指定したテキストや画像、音声、動画(リソースも含む)の名前を変更、移動をする。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
oldPath string Yes 移動前のファイル名を含んだファイルパス。ファイル名を含む。
newPath string Yes 移動先のファイル名を含んだファイルパス。ファイル名を含まなくても良い。
forceOverwrite boolean No 上書きフラグ。
true : 既にpath名と同じファイルがある場合は上書きされる。
false : 既にpath名と同じファイルがある場合は上書きされない。

レスポンス

物理名 データ型 必須 説明
result integer Yes 処理結果
0: 正常応答
0以外: 異常応答
product string Yes DeviceConnectシステムの名前
version string Yes DeviceConnectシステムのバージョン名
hmac string No レスポンスに対する署名
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}

種別

one-shot

概要

ファイルパスで指定したテキストや画像、音声、動画(リソースも含む)を削除する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
path string Yes ファイルパス。ファイル名とパス

レスポンス

物理名 データ型 必須 説明
result integer Yes 処理結果
0: 正常応答
0以外: 異常応答
product string Yes DeviceConnectシステムの名前
version string Yes DeviceConnectシステムのバージョン名
hmac string No レスポンスに対する署名
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}

種別

one-shot

概要

保存されているファイルの一覧を取得する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
path string No パス。検索対象のディレクトリ。省略されたらそのデバイスプラグインのアプリがもつディレクトリのルートディレクトリを指定する。 例)/files/test/
mimeType string No MimeType。情報を取得するファイルの種別ごとに区切りたい場合は、mimeTypeを指定する 例)image/png
order array(string) No 取得ファイルの並び順。取得する一覧のエントリの並び順。昇順はascで、降順はdescを後ろに指定する。並び順として選択する行をカンマ区切りでレスポンスの物理名を選択する。例)updateDate,asc
offset integer No 取得件数の始まり。取得できるファイル数が多いときに、表示開始位置を指定できる。例)4
limit integer No 取得件数の制限。取得できるファイル数を制限するときに、その件数を指定できる。例)30

レスポンス

物理名 データ型 必須 説明
result integer Yes 処理結果
0: 正常応答
0以外: 異常応答
count integer Yes 検索結果数
検索結果のファイル数
product string Yes DeviceConnectシステムの名前
file array(object) Yes 検索にヒットしたファイルの情報リスト
検索にヒットしたファイルの情報を持つオブジェクト(object)の配列。
path string Yes ファイル名を含めたファイルの存在するパス。
mimeType string Yes MimeType
fileのエンコードするタイプ。
fileType string Yes ファイルの種別
0: ファイル
1: ディレクトリ
fileName string Yes ファイルの名前
updateDate string Yes 更新時間
RFC 3339
fileSize integer Yes ファイルのサイズ。
単位はbyte。
version string Yes DeviceConnectシステムのバージョン名
hmac string No レスポンスに対する署名
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "count" : 2,
  "file" : [ {
    "path" : "/test/file1.txt",
    "fileName" : "file1.txt",
    "mimeType" : "text/plain",
    "updateDate" : "2014-05-02 T10:32:10+0900",
    "fileSize" : 123,
    "fileType" : 0
  } ]
}

種別

one-shot

概要

ディレクトリの作成要求を渡す。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
path string Yes パス。作成するディレクトリのパス

レスポンス

物理名 データ型 必須 説明
result integer Yes 処理結果
0: 正常応答
0以外: 異常応答
product string Yes DeviceConnectシステムの名前
version string Yes DeviceConnectシステムのバージョン名
hmac string No レスポンスに対する署名
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}

種別

one-shot

概要

ディレクトリの名前の変更、移動要求を渡す。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
oldPath string Yes 移動前のディレクトリパス。ファイル名を含まない
newPath string Yes 移動先のディレクトリパス。ファイル名を含まない

レスポンス

物理名 データ型 必須 説明
result integer Yes 処理結果
0: 正常応答
0以外: 異常応答
product string Yes DeviceConnectシステムの名前
version string Yes DeviceConnectシステムのバージョン名
hmac string No レスポンスに対する署名
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}

種別

one-shot

概要

ディレクトリの削除要求を渡す。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
path string Yes パス。削除するディレクトリのパス
forceRemove boolean No 強制削除フラグ。trueが指定された場合には、空ではないディレクトリも削除する。falseが指定された場合には、空でないディレクトリは削除できない。省略された場合には、falseと同じ動作となる。

レスポンス

物理名 データ型 必須 説明
result integer Yes 処理結果
0: 正常応答
0以外: 異常応答
product string Yes DeviceConnectシステムの名前
version string Yes DeviceConnectシステムのバージョン名
hmac string No レスポンスに対する署名
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}

種別

one-shot

概要

保存されているファイルの一覧を取得する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
path string No パス。検索対象のディレクトリ。省略されたらそのデバイスプラグインのアプリがもつディレクトリのルートディレクトリを指定する。 例)/files/test/
mimeType string No MimeType。情報を取得するファイルの種別ごとに区切りたい場合は、mimeTypeを指定する 例)image/png
order array(string) No 取得ファイルの並び順。取得する一覧のエントリの並び順。昇順はascで、降順はdescを後ろに指定する。並び順として選択する行をカンマ区切りでレスポンスの物理名を選択する。例)updateDate,asc
offset integer No 取得件数の始まり。取得できるファイル数が多いときに、表示開始位置を指定できる。例)4
limit integer No 取得件数の制限。取得できるファイル数を制限するときに、その件数を指定できる。例)30

レスポンス

物理名 データ型 必須 説明
result integer Yes 処理結果
0: 正常応答
0以外: 異常応答
count integer Yes 検索結果数
検索結果のファイル数
product string Yes DeviceConnectシステムの名前
file array(object) Yes 検索にヒットしたファイルの情報リスト
検索にヒットしたファイルの情報を持つオブジェクト(object)の配列。
path string Yes ファイル名を含めたファイルの存在するパス。
mimeType string Yes MimeType
fileのエンコードするタイプ。
fileType string Yes ファイルの種別
0: ファイル
1: ディレクトリ
fileName string Yes ファイルの名前
updateDate string Yes 更新時間
RFC 3339
fileSize integer Yes ファイルのサイズ。
単位はbyte。
version string Yes DeviceConnectシステムのバージョン名
hmac string No レスポンスに対する署名
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "count" : 2,
  "file" : [ {
    "path" : "/test/file1.txt",
    "fileName" : "file1.txt",
    "mimeType" : "text/plain",
    "updateDate" : "2014-05-02 T10:32:10+0900",
    "fileSize" : 123,
    "fileType" : 0
  } ]
}
⚠️ **GitHub.com Fallback** ⚠️