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にアクセスすることでリソースにアクセスできるようにすること。

リクエスト

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

レスポンス

論理名物理名データ型必須説明
処理結果resultintegerYes0: 正常応答
0以外: 異常応答
システム名productstringYesDeviceConnectシステムの名前。
システムバージョンversionstringYesDeviceConnectシステムのバージョン名。
署名hmacstringNoレスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。
MimeTypemimeTypestringYesURIデータのMimeType
URIuristringYesContentProviderの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

概要

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

マルチパート形式でファイルを送信する。 ファイルの容量制限に関しては、スマートデバイスごとにより異なる。

リクエスト

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

レスポンス

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

レスポンスサンプル

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

種別

one-shot

概要

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

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

リクエスト

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

レスポンス

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

レスポンスサンプル

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

種別

one-shot

概要

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

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

リクエスト

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

レスポンス

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

レスポンスサンプル

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

種別

one-shot

概要

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

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

リクエスト

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

レスポンス

論理名物理名データ型必須説明
処理結果resultintegerYes0: 正常応答
0以外: 異常応答
システム名productstringYesDeviceConnectシステムの名前。
システムバージョンversionstringYesDeviceConnectシステムのバージョン名。
署名hmacstringNoレスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。
検索結果数countintegerYes検索結果のファイル数
検索にヒットしたファイルの情報リストfilearray(object)Yes検索にヒットしたファイルの情報を持つオブジェクト(object)の配列。
ファイルパスpathstringYesファイル名を含めたファイルの存在するパス。
MimeTypemimeTypestringYesfileのエンコードするタイプ。
ファイルの種別fileTypeintegerYes0: ファイル
1: ディレクトリ
ファイルの名前fileNamestringYes拡張子を含む。ディレクトリ名は含まない。
更新時間updateDatedateTimeYesRFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式で返す。
ファイルサイズfileSizeintegerYes単位は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

概要

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

ディレクトリの作成は、スマートデバイス上で行う。

リクエスト

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

レスポンス

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

レスポンスサンプル

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

種別

one-shot

概要

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

移動するディレクトリ内にファイルがある場合に移動処理を行うかどうかは、 スマートデバイスおよびデバイスプラグインの仕様に依存する。

リクエスト

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

レスポンス

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

レスポンスサンプル

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

種別

one-shot

概要

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

削除するディレクトリ内にファイルがある場合に削除処理を行うかどうかは、 スマートデバイスおよびデバイスプラグインの仕様に依存する。

リクエスト

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

レスポンス

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

レスポンスサンプル

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

種別

one-shot

概要

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

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

リクエスト

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

レスポンス

論理名物理名データ型必須説明
処理結果resultintegerYes0: 正常応答
0以外: 異常応答
システム名productstringYesDeviceConnectシステムの名前。
システムバージョンversionstringYesDeviceConnectシステムのバージョン名。
署名hmacstringNoレスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。
検索結果数countintegerYes検索結果のファイル数
検索にヒットしたファイルの情報リストfilearray(object)Yes検索にヒットしたファイルの情報を持つオブジェクト(object)の配列。
ファイルパスpathstringYesファイル名を含めたファイルの存在するパス。
MimeTypemimeTypestringYesfileのエンコードするタイプ。
ファイルの種別fileTypeintegerYes0: ファイル
1: ディレクトリ
ファイルの名前fileNamestringYes拡張子を含む。ディレクトリ名は含まない。
更新時間updateDatedateTimeYesRFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式で返す。
ファイルサイズfileSizeintegerYes単位は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