2016-10-12 1 views
0

私たちはデータベースに過去数年間の認証されたアカウントを混在させていました。そこでは「フルアクセス」を早期に受け取り、その後「App Folder」だけに変更しました。access_tokenがApp FolderかFull Accessかどうかを確認しますか?

私たちが持っているaccess_tokenがApp Folder内にあるのか、それともアカウント全体にあるのかを知るためにAPIを使用する方法はありますか?

基本的には、すべてのアカウントをApp Foldersに切り替える必要がありますが、必要なアカウントだけを変更する必要があります。フォルダを移動し、デフォルトのパスをDBに保存する必要があります。

ドキュメントを見ても、この情報を提供するものは何も見えません。

+0

[参照用のクロスリンク:https://www.dropboxforum.com/t5/API-support/Know-if-access-token-is-for-an-App- Folder-or-Full-Access/mp/190351] – Greg

答えて

0

Dropbox APIは、許可レベル(アプリのフォルダと完全なDropbox)がアプリに透過的になるように設計されているため、特定のアクセストークンのアクセス許可を検出するためのプログラムの正式な方法はありません。私たちはこれを機能リクエストとみなします。

つまり、APIの一部の機能はDropboxアプリ全体でしかアクセスできないため、暗黙的にアクセス許可を検出する手段として使用できます。たとえば、/2/sharing/list_foldersエンドポイントは、完全なDropboxアプリケーションでのみ使用できます。

このエンドポイントを使用するには、アプリケーションに完全なDropboxアクセス権が必要です。

これはまだ素晴らしいソリューションではありませんが、アプリケーションフォルダアプリの場合は、プレーンテキストのボディで400エラーが発生しますエラー)ので、他の400エラーとの違いを確実に伝えることはできません。

エラーをAPI機能「共有/ list_folders」への呼び出しに:あなたは、エラーメッセージに対して一致する可能性があり、それはもちろん変更される可能性があることを回避するにはあなたのAPIのアプリは、「アプリケーションフォルダ」アプリです。このAPI関数にはアクセスできません。

+0

ありがとう@Greg(もう一度!) – spirie

+0

共有/ list_foldersはエラーを返さないので、フルアクセス/アプリケーションFolderの違いを区別できませんでした。今後の参照として、私は次のようにしました: – spirie

+0

私は私が従うかどうかわかりません。私の答えごとに/ 2/sharing/list_foldersを使用できるはずです。それは、アプリのフォルダのアプリケーションのための400のエラー、および完全なDropboxの200をもたらすでしょう。 (私は、/ 2/sharing/list_foldersが実際に持っていないルート固有の409エラーを見ていると思います。) – Greg

0

@Gregが正しい方向に向いてくれてくれてありがとうございます。

/sharing/list_foldersはエラーを返さないため、フル・ドロップボックス&アプリケーション・フォルダ・アクセスの違いを区別できませんでした。私のクエリを解決するために、将来の参考のために

、私は次のようでした:

  • は、あなたが何らかの形で迎えに管理しない限り、これは常に(エラーを返します作っshared_folder_id
  • /sharing/get_folder_metadataにAPIリクエストを送信存在shared_folder_id!)
  • 誤差は常にinvalid_idになります応答を()含まれている場合は、エラーが空だった場合、access_tokenは全Dropboxのアクセス
  • を持っている、そしてアクセス_tokenにはApp Folderのアクセスのみがあります
関連する問題