Skip to content

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。

参考API

http://nodejs.org/api/fs.html

インターフェース名称Version種別
FileDescriptor Open API2.0.0同期I/F

概要

スマートデバイスのファイルを開くように要求する。 ここで使用するメディアIDは、File APIで取得できる。

リクエスト

HTTPメソッドURI
GET/gotapi/fileDescriptor/open
論理名物理名データ型省略設定値
サービスIDserviceIdstring-取得対象スマートデバイス
ファイルパスpathstring-ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。
フラグflagstring-"r"読み込みのみ
"rw" 読み込み&書き込み"

レスポンス

Content-Type形式HTTPステータス
application/jsonJSON200
論理名物理名データ型省略設定値
処理結果resultnumber-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 API2.0.0同期I/F

概要

スマートデバイスのファイルを閉じるように要求する。

リクエスト

HTTPメソッドURI
PUT/gotapi/fileDescriptor/close
論理名物理名データ型省略設定値
サービスIDserviceIdstring-取得対象スマートデバイス
ファイルパスpathstring-ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。

レスポンス

Content-Type形式HTTPステータス
application/jsonJSON200
論理名物理名データ型省略設定値
処理結果resultnumber-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 API2.0.0同期I/F

概要

スマートデバイスのファイルを指定したサイズ分取得する。 スマートデバイスのファイルが読み込み完了していない場合には、再度このAPIを呼び出して取得を行う。

リクエスト

HTTPメソッドURI
GET/gotapi/fileDescriptor/read
論理名物理名データ型省略設定値
サービスIDserviceIdstring-取得対象スマートデバイス
ファイルパスpathstring-ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。
読み込みサイズlengthlong-一度の読み込みで取得する最大サイズ。length > 0
読み込み開始位置positionlong読み込みファイルの開始位置を指定する。省略された場合には、現在ファイルが読み込んでいる位置から読み込む。position >= 0"

レスポンス

Content-Type形式HTTPステータス
application/jsonJSON200
論理名物理名データ型省略設定値
処理結果resultnumber-0:正常応答
0以外:異常応答
データサイズsizenumber-読み込んだデータのサイズ
データfileDatastring-読み込んだデータを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 API2.0.0同期I/F

概要

スマートデバイスのファイルへの書き込みを要求する。

リクエスト

HTTPメソッドURI
PUT/gotapi/fileDescriptor/write
論理名物理名データ型省略設定値
サービスIDserviceIdstring-取得対象スマートデバイス
ファイルパスpathstring-ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。
ファイルのbinarymediamultipart-テキスト、画像、動画、音声ファイルなどをmultipartで送ることができる。
ファイルオフセットpositionlongファイルの書き込み開始位置を指定する。省略された場合には、現在ファイルが書き込んでいる位置から書き込む。

レスポンス

Content-Type形式HTTPステータス
application/jsonJSON200
論理名物理名データ型省略設定値
処理結果resultnumber-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 API2.0.0非同期I/F(イベントI/F)

概要

スマートデバイスのファイルの更新時間が変化したことを通知する。 スマートデバイスのファイルへの書き込みが発生した時にイベントが発行される。

イベント情報

イベント名Content-Type
/gotapi/fileDescriptor/onwatchfileapplication/json

メッセージ

論理名物理名データ型省略設定値
オブジェクトfileobject-ファイルデータ(object)
ファイルパスpathstring-ファイルが存在するパス。ルートはデバイスプラグインごとに異なる。ディレクトリを指定した場合はエラーを返す。
属性値currstring-現在の更新時間(RFC 3339)。
例: "2014-01-01T00:00:00+0900"
属性値prevstring-以前の更新時間(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"
}
}

Clone this wiki locally