-
Notifications
You must be signed in to change notification settings - Fork 8
File Profile
TakayukiHoshi1984 edited this page Mar 27, 2017
·
4 revisions
| API | 機能概要 |
|---|---|
| File Send API | スマートデバイスに対して、テキストや画像、音声、動画(リソースも含む)を渡す。 |
| File Receive API | スマートデバイスへの、テキスト(歩数、消費カロリー、睡眠時間などのバイナリーの任意のデータ)や画像、音声、動画(リソースも含む)を受け取る。 |
| File List API | スマートデバイスに保存されているファイルの一覧を取得する。オプション機能として、マイムタイプによるフィルタリングや、並び順の指定が可能。 |
| File Remove API | スマートデバイスに対して、ファイルパスで指定したテキストや画像、音声、動画(リソースも含む)またはディレクトリを削除する。 |
| Make Directory API | スマートデバイスに対して、ディレクトリの作成要求を渡す。 |
| Remove Directory API | スマートデバイスに対して、ディレクトリの削除要求を渡す。 |
スマートデバイスに対してのファイル操作機能を提供するAPI。
##ベースAPI http://dev.w3.org/2009/dap/file-system/file-writer.html http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
| インターフェース名称 | Version | 種別 |
|---|---|---|
| File Send API | 2.0.0 | 同期I/F |
スマートデバイスに対して、テキストや画像、音声、動画(リソースも含む)を渡す。 ディレクトリの作成も可能。再帰的にディレクトリを作成することも可能。
| HTTPメソッド | URI |
|---|---|
| POST | /gotapi/file/send |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象デバイス |
| ファイルパス | path | string | - | ファイル名とパス |
| マイムタイプ | mimeType | string | - | 送信するファイルのマイムタイプ |
| ファイルのbinary | data | binary | ○ | 送信するファイルのbinary。uriと同時に省略することはできない。両方指定した場合はdataが優先され、uriは無視される。 |
| URI | uri | string | ○ | ContentProviderのURI。このURIに送信するデータを格納する。dataと同時に省略することはできない。両方指定した場合はdataが優先され、uriは無視される。 |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
| パス | path | string | - | 渡したファイル名が含まれたファイルパスが返される。 |
POST http://localhost:4035/gotapi/file/send
| Multipartデータ |
|---|
| Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryp7MA4YWxkTrZu0gW ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="accessToken" xxxxx ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="serviceId" localhost.deviceconnect.org ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="path" /test/test.png ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="mimeType" image/png ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="data"; filename="ic_launcher.png" Content-Type: image/png <binary省略> ----WebKitFormBoundaryE19zNvXGzXaLvS5C |
| boundaryに指定はない。 |
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 0
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| File Receive API | 2.0.0 | 同期I/F |
スマートデバイスへの、テキスト(歩数、消費カロリー、睡眠時間などのバイナリーの任意のデータ)や画像、音声、動画(リソースも含む)を受け取る。
| HTTPメソッド | URI |
|---|---|
| GET | /gotapi/file/receive |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象デバイス。 |
| パス | path | string | - | ファイルパス。 |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
| マイムタイプ | mimeType | string | - | URIデータのマイムタイプ。 |
| URI | uri | string | - | ContentProviderのURIこのURIからデータを読み込む。 |
GET http://localhost:4035/gotapi/file/receive?serviceId=localhost.deviceconnect.org&path=%2ftest%2ftest.png&accessToken=xxxxx
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 0,
"mimeType": "text/plain",
"uri": "http://localhost:4035/gotapi/files?file=xxxxxxxxxxx"
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| File List API | 2.0.0 | 同期I/F |
スマートデバイスに保存されているファイルの一覧を取得する。オプション機能として、マイムタイプによるフィルタリングや、並び順の指定が可能。
| HTTPメソッド | URI |
|---|---|
| GET | /gotapi/file/list |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象デバイス |
| パス | path | string | ○ | 検索対象のディレクトリ。省略されたらそのデバイスプラグインのアプリがもつディレクトリのルートディレクトリを指定する。 例)/files/test/ |
| マイムタイプ | mimeType | string | ○ | 情報を取得するファイルの種別ごとに区切りたい場合は、mimeTypeを指定する 例)image/png |
| 取得ファイルの並び順 | order | string | ○ | 取得する一覧のエントリの並び順。昇順はascで、降順はdescを後ろに指定する。並び順として選択する行をカンマ区切りでレスポンスの物理名を選択する。例)updateDate,asc |
| 取得件数の始まり | offset | number | ○ | 取得できるファイル数が多いときに、表示開始位置を指定できる。例)4 |
| 取得件数の制限 | limit | number | ○ | 取得できるファイル数を制限するときに、その件数を指定できる。例)30 |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 | |
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
|
| 検索結果数 | count | number | - | 検索結果のファイル数 | |
| オブジェクト | file | object[] | - | 検索にヒットしたファイルの情報を持つオブジェクト(object)の配列 | |
| 属性値 | path | string | - | ファイル名を含めたファイルの存在するパス。 | |
| 属性値 | mimeType | string | - | ファイルのマイムタイプ | |
| 属性値 | fileType | number | - | ファイルの種別 0: ファイル 1: ディレクトリ |
|
| 属性値 | fileName | string | - | ファイルの名前 | |
| 属性値 | updateDate | string | - | 更新時間RFC 3339 | |
| 属性値 | fileSize | number | - | ファイルのサイズ。単位はbyte。 | |
GET http://localhost:4035/gotapi/file/list?serviceId=localhost.deviceconnect.org&path=%2ffiles%2ftest&mimeType=text%2fplain&offset=5&limit=2&accessToken=xxxxx
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 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
},
{
"path" : "/test/file2.txt",
"fileName" : "file2.txt",
"mimeType": "text/plain",
"updateDate":"2014-05-01 T10:32:10+0900"
"fileSize"; 321,
"fileType" : 0
}
]
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| File Remove API | 2.0.0 | 同期I/F |
スマートデバイスに対して、ファイルパスで指定したテキストや画像、音声、動画(リソースも含む)またはディレクトリを削除する。
| HTTPメソッド | URI |
|---|---|
| DELETE | /gotapi/file/remove |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象デバイス |
| パス | path | string | - | 削除するファイルのパスと名前を指定する。ディレクトリのみの指定の場合は、そのディレクトリに存在するファイルをすべて削除する。 |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
DELETE http://localhost:4035/gotapi/file/remove?serviceId=localhost.deviceconnect.org&path=%2ffile%2ftest.png&accessToken=xxxxx
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 0
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| Make Directory API | 2.0.0 | 同期I/F |
スマートデバイスに対して、ディレクトリの作成要求を渡す。 ディレクトリまでのパスが階層になっている場合には、途中のディレクトリも再帰的に作成する。
| HTTPメソッド | URI |
|---|---|
| POST | /gotapi/file/mkdir |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象デバイス |
| パス | path | string | - | 作成するディレクトリのパス |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
POST http://localhost:4035/gotapi/file/mkdir
| POSTデータ |
|---|
| serviceId=xxxxxxx&path=/sample/dir&accessToken=xxxxx |
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 0
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| Remove Directory API | 2.0.0 | 同期I/F |
スマートデバイスに対して、ディレクトリの削除要求を渡す。
| HTTPメソッド | URI |
|---|---|
| DELETE | /gotapi/file/rmdir |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象デバイス |
| パス | path | string | - | 削除するディレクトリのパス |
| 強制削除フラグ | force | boolean | ○ | trueが指定された場合には、空ではないディレクトリも削除する。falseが指定された場合には、空でないディレクトリは削除できない。省略された場合には、falseと同じ動作となる。 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
DELETE http://localhost:4035/gotapi/file/rmdir?serviceId=xxxxxxx&path=/sample/dir&accessToken=xxxxx
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 0
}