-
Notifications
You must be signed in to change notification settings - Fork 8
FileDescriptor Profile
TakayukiHoshi1984 edited this page Mar 27, 2017
·
4 revisions
| API | 機能概要 |
|---|---|
| FileDescriptor Open API | スマートデバイスのファイルを開くように要求する。ここで使用するpathは、File APIで取得できる。 |
| FileDescriptor Close API | スマートデバイスのファイルを閉じるように要求する。 |
| FileDescriptor Read API | スマートデバイスのファイルを指定したサイズ分取得する。スマートデバイスのファイルが読み込み完了していない場合には、再度このAPIを呼び出して取得を行う。 |
| FileDescriptor Write API | ススマートデバイスのファイルへの書き込みを要求する。 |
| FileDescriptor WatchFile Event API | スマートデバイスのファイルの更新時間が変化したことを通知する。スマートデバイスのファイルへの書き込みが発生した時にイベントが発行される。 |
スマートフォンまたは周辺機器から他方のスマートデバイスに対してのファイルディスクリプタ操作機能を提供するAPI。
| インターフェース名称 | Version | 種別 |
|---|---|---|
| FileDescriptor Open API | 2.0.0 | 同期I/F |
スマートデバイスのファイルを開くように要求する。 ここで使用するメディアIDは、File APIで取得できる。
| HTTPメソッド | URI |
|---|---|
| GET | /gotapi/fileDescriptor/open |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象スマートデバイス |
| ファイルパス | path | string | - | ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。 |
| フラグ | flag | string | - | "r"読み込みのみ "rw" 読み込み&書き込み" |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
GET http://localhost:4035/gotapi/fileDescriptor/open?serviceId=localhost.deviceconnect.org&path=%2Fdir%2Ffile1.txt&flag=r&accessToken=xxxxx
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 0
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| FileDescriptor Close API | 2.0.0 | 同期I/F |
スマートデバイスのファイルを閉じるように要求する。
| HTTPメソッド | URI |
|---|---|
| PUT | /gotapi/fileDescriptor/close |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象スマートデバイス |
| ファイルパス | path | string | - | ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。 |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
PUT http://localhost:4035/gotapi/fileDescriptor/close
| PUTデータ |
|---|
| serviceId=localhost.deviceconnect.org&path=%2Fdir%2Ffile1.txt&accessToken=xxxxx |
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 0
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| FileDescriptor Read API | 2.0.0 | 同期I/F |
スマートデバイスのファイルを指定したサイズ分取得する。 スマートデバイスのファイルが読み込み完了していない場合には、再度このAPIを呼び出して取得を行う。
| HTTPメソッド | URI |
|---|---|
| GET | /gotapi/fileDescriptor/read |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象スマートデバイス |
| ファイルパス | path | string | - | ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。 |
| 読み込みサイズ | length | long | - | 一度の読み込みで取得する最大サイズ。length > 0 |
| 読み込み開始位置 | position | long | ○ | 読み込みファイルの開始位置を指定する。省略された場合には、現在ファイルが読み込んでいる位置から読み込む。position >= 0" |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
| データサイズ | size | number | - | 読み込んだデータのサイズ |
| データ | fileData | string | - | 読み込んだデータをdata。URI schemeの形式で設定する |
GET http://localhost:4035/gotapi/fileDescriptor/read?serviceId=localhost.deviceconnect.org&path=%2Fdir%2ffile1.txt&length=100&position=0&accessToken=xxxxx
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 0,
"size": 100,
"fileData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| FileDescriptor Write API | 2.0.0 | 同期I/F |
スマートデバイスのファイルへの書き込みを要求する。
| HTTPメソッド | URI |
|---|---|
| PUT | /gotapi/fileDescriptor/write |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| サービスID | serviceId | string | - | 取得対象スマートデバイス |
| ファイルパス | path | string | - | ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。 |
| ファイルのbinary | media | multipart | - | テキスト、画像、動画、音声ファイルなどをmultipartで送ることができる。 |
| ファイルオフセット | position | long | ○ | ファイルの書き込み開始位置を指定する。省略された場合には、現在ファイルが書き込んでいる位置から書き込む。 |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 |
|---|---|---|---|---|
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
PUT http://localhost:4035/gotapi/fileDescriptor/write
| Multipartボディ |
|---|
| Content-Type: multipart/form-data; boundary=--BOUNDARY1234567890 ----BOUNDARY1234567890 Content-Disposition: form-data; name="accessToken" xxxxx ----BOUNDARY1234567890 Content-Disposition: form-data; name="serviceId" localhost.deviceconnect.org ----BOUNDARY1234567890 Content-Disposition: form-data; name="path" /dir/file1.txt ----BOUNDARY1234567890 Content-Disposition: form-data; name="media"; filename="some_file.txt" Content-Type: text/plain Hello World! ----BOUNDARY1234567890-- |
boundaryに指定はない。
{
"product":"Device Connect Manager",
"version":"x.x",
"result": 0
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| FileDescriptor WatchFile Event API | 2.0.0 | 非同期I/F(イベントI/F) |
スマートデバイスのファイルの更新時間が変化したことを通知する。 スマートデバイスのファイルへの書き込みが発生した時にイベントが発行される。
| イベント名 | Content-Type |
|---|---|
| /gotapi/fileDescriptor/onwatchfile | application/json |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 | |
| オブジェクト | file | object | - | ファイルデータ(object) | |
| ファイルパス | path | string | - | ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。 | |
| 属性値 | curr | string | - | 現在の更新時間(RFC 3339)。 例: "2014-01-01T00:00:00+0900" |
|
| 属性値 | prev | string | - | 以前の更新時間(RFC 3339)。 例: "2014-01-01T00:00:00+0900" |
|
{
"product":"Device Connect Manager",
"version":"x.x",
"serviceId": "device1.localhost.deviceconnect.org",
"api" : "gotapi",
"profile" : "fileDescriptor",
"attribute" : "onwatchfile",
"sessionKey" : "0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405",
"file" : {
"path": "/dir/file1.txt",
"curr": "2014-05-02 T10:32:10+0900",
"prev": "2014-05-01 T10:32:10+0900"
}
}