Skip to content

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
}

Clone this wiki locally