Skip to content
Takayuki Hoshi edited this page May 31, 2019 · 5 revisions

概要

スマートデバイスに対してのファイル操作機能を提供する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

概要

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

このリクエストのレスポンスでURLを返し、 そのURLにアクセスすることでリソースにアクセスできるようにすること。

リクエスト

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

レスポンス

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

レスポンスサンプル

{
  "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

概要

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

ディレクトリの移動を行いたい場合は、 同プロファイルのPUT /file/directoryを使用すること。

リクエスト

物理名 データ型 必須 説明
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

概要

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

ディレクトリの削除を行いたい場合は、 同プロファイルのDELETE /file/directoryを使用すること。

リクエスト

物理名 データ型 必須 説明
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

概要

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

/file/listと同じ動作をする。

リクエスト

物理名 データ型 必須 説明
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以外: 異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。
検索結果数 count integer Yes 検索結果のファイル数
検索にヒットしたファイルの情報リスト file array(object) Yes 検索にヒットしたファイルの情報を持つオブジェクト(object)の配列。
ファイルパス path string Yes ファイル名を含めたファイルの存在するパス。
MimeType mimeType string Yes fileのエンコードするタイプ。
ファイルの種別 fileType integer Yes 0: ファイル
1: ディレクトリ
ファイルの名前 fileName string Yes 拡張子を含む。ディレクトリ名は含まない。
更新時間 updateDate dateTime Yes RFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式で返す。
ファイルサイズ fileSize integer Yes 単位はbyte。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "count" : 2,
  "file" : [ {
    "path" : "/test/file1.txt",
    "fileName" : "file1.txt",
    "mimeType" : "text/plain",
    "updateDate" : "2015-05-17T10:02:20+09:00",
    "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

概要

スマートデバイスに保存されているファイルの一覧を取得する。

GET /file/directoryと同じ動作を行う。

リクエスト

物理名 データ型 必須 説明
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以外: 異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。
検索結果数 count integer Yes 検索結果のファイル数
検索にヒットしたファイルの情報リスト file array(object) Yes 検索にヒットしたファイルの情報を持つオブジェクト(object)の配列。
ファイルパス path string Yes ファイル名を含めたファイルの存在するパス。
MimeType mimeType string Yes fileのエンコードするタイプ。
ファイルの種別 fileType integer Yes 0: ファイル
1: ディレクトリ
ファイルの名前 fileName string Yes 拡張子を含む。ディレクトリ名は含まない。
更新時間 updateDate dateTime Yes RFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式で返す。
ファイルサイズ fileSize integer Yes 単位はbyte。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "count" : 2,
  "file" : [ {
    "path" : "/test/file1.txt",
    "fileName" : "file1.txt",
    "mimeType" : "text/plain",
    "updateDate" : "2015-05-17T10:02:20+09:00",
    "fileSize" : 123,
    "fileType" : 0
  } ]
}
Clone this wiki locally