【kotlin】DropBoxAPIを使用して一覧を取得
概要
DropBoxAPIを使用して、一覧を取得します。
開発環境
- Mac OS 13.2
- Android studio 2021.2.1 Patch 2
DropBoxの認証画面を表示して認証します。
binding.buttonSign.setOnClickListener { this.context?.let { it1 -> // ブラウザで認証画面が開きます。 Auth.startOAuth2Authentication(it1, {drop_box_app_key}) } }
- 以下の画面が表示されます。そのまま画面に従って進みます。
- Allow(許可)をタップするとアプリに戻ります。
- アプリに戻ったらtokenが取れます。他の画面でも使用するならSharedPreferencesに保存しても良いでしょう
override fun onResume() { super.onResume() // Tokenが取得できます。 val newToken = Auth.getOAuth2Token().toString() }
- 一覧の取得です。
private suspend fun getDropBoxListTask(token: String?) { try { // tokenがない場合処理をやめます。 if (token == null) { return } // val config = DbxRequestConfig("Name/Version") // tokenを設定します。 val client = DbxClientV2(config, token) // 一覧を取得します。liatFolderには取得したいPathを入れます。 // ここでは、一番上(root)を指定しています。 val resultList = client.files().listFolder("").entries withContext(Dispatchers.Main) { for (metadata in resultList) { // metadataから値を取得できます。 metadata.name // ファイル名もしくはフォルダ名 metadata.toString() // このファイルに対してのjsonが取れます。 } } withContext(Dispatchers.Main) { // ここでUIの更新を行います。 } } catch (e: Exception) { // エラー処理 } }