Dropboxの巻 レスポンス編

どうもぶるーつりーです。

前回のブログの続きです。

 

filesDeleteとfilesDeleteBatchのコールバックの引数です。

まずfilesDelete

dropboxのドキュメント見ると、成功時は「(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)」とあり、

上記のいずれかが返ってくるみたいです。

で、返ってきた値は連想配列で以下のキーを持っています。

.tag、name、path_lower、path_display、id、client_modified、server_modified、rev、size、content_hash

各キーに対する値は以下です。

.tagは「file」なのでFilesFileMetadataということがわかります。→ドキュメント参照。

nameは削除対象のファイル名

path_lowerはすべて小文字にした削除ファイルのパス

path_displayは削除ファイルのパス

idは英語の文字列列挙、ドキュメント見るとファイルの一意のIDみたいな説明があります。

client_modifiedはクライアントPCで更新された日時。形式は「YYYY-MM-DDTHH:MI:SSZ」です。

server_modifiedはDropboxで更新された日時。形式は上と同じです。

revは一意のリビジョン番号。0.1とかいう番号ではないです。20桁の文字列(ほぼ数字)でした。

sizeはファイルのサイズ。テキストの場合は文字数みたいです。ほかの形式はまた試してないのでわからないです。すいません。

content_hashはファイル内容のハッシュ値です。ドキュメントにはそんな感じの説明があります。

ドキュメントにはほかにもある見たいですが、こちらでは上記のもののみでした。なにか条件やファイル形式によって変わるのでしょうか。

 

次はエラー時。

ドキュメントには「Error.<FilesDeleteError>」とありました。

で、これも連想配列で、キーは以下の通りです。

error、response、status

そして各キーに対する値は以下。

errorは文字列だったりオブジェクト、文字列の場合はエラー内容のよう。

オブジェクトの場合はerror_summeryと、errorというキーを持ち、前者はエラー内容をもっていて、後者はオブジェクトです。

試してないですがおそらく親と同じものをもっているのでは、と考えています。

responseはhttpレスポンスオブジェクトと思います。内容を見るとheaderやbody、urlなどをもっているためです。

調べると「https://developer.mozilla.org/ja/docs/Web/API/Response」にhttpレスポンスオブジェクトの説明があり、持っていたキーとほぼ同じものを持っています。

statusはステータスコードです。例えば「409」だと削除対象ファイルが存在しない。となります。

 

お次はfilesDeleteBatchです。

成功時は「FilesDeleteBatchLaunch」が返ってくるようです。

キーは以下。

.tag、async_job_id

.tagは「async_job_id」でした。ほかにも「complete」、「other」の場合があるみたいですが返ってくる条件が不明です。

async_job_idは.tagが「async_job_id」を返してるのでこれも持っているのでしょう。内容は適当な文字列でした。

ドキュメント見ると処理が非同期である場合にこれが返ってくるみたいです。

 

エラー時は「filesDelete」と変わらなかったです。

ただこのメソッドは、削除対象のファイルが存在しなくてもエラーとなりません。自分の場合は引数に存在しないキーを指定したらエラーになりました。

 

以上がコールバックメソッドの戻り値です。

意外と長くなりました。そして見直すとわからん事だらけですね。

Dropbox API、奥が深い?

 

ともかく削除系のメソッドについては以上となります。

ほかのメソッドについての説明は現在未定です。

 

では今回はこの辺で。

ぶるーつりー

技術は好きだがスキルが低い技術者。
好みはpython、JavaScript。
最近はDockerにも注目してる。

関連記事

  1. Grace Murray Hopper

    【IT偉人伝/グレース・ホッパー】幾多の困難を乗り越えながら「プログラム言語の母」と呼ばれるようにな…

  2. Mountain Gorilla

  3. 文字認識アプリ

  4. iOSアプリ「テキトーに通知するアプリ」「MagiCD」配信停止のお知らせ

  5. Androidアプリ「思い出マップ」をリリースしました。

  6. 【なんとなくSwift その4】横幅が可変なUIButtonをつくる。タイトルの長さによってUIBu…

  7. 【セキュリティは】AWSのMFAを有効化しよう その2【ご安全に】

  8. 重要だと感じること

PAGE TOP