我们在数据库中有一堆经过认证的混合帐户,其中一些帐户已被授予" Full Access"早期和之后它被改为仅使用"应用程序文件夹"。
有没有办法使用API来了解我们所拥有的access_token是在App文件夹中,还是在整个帐户中?
我们基本上想要将所有帐户切换到App Folders,但只想改变那些需要它的人。我们必须移动文件夹并在DB中存储默认路径。
浏览过文档后,我看不到任何提供此信息的内容,还有什么想法?
答案 0 :(得分:0)
Dropbox API的设计使得权限级别(例如,app文件夹vs完整Dropbox)对应用程序是透明的,因此没有良好/官方的编程方式来检测任何给定访问令牌的权限。我们会将此视为功能请求。
也就是说,API的某些功能只能由完整的Dropbox应用访问,因此您可以使用这些功能隐式检测权限。例如,/2/sharing/list_folders端点仅适用于完整的Dropbox应用:
应用必须具有完整的Dropbox访问权限才能使用此端点。
这可能对您有用,虽然它仍然不是一个很好的解决方案,因为在应用程序文件夹应用程序的情况下,您将使用纯文本正文获得400错误(而不是结构良好的409错误)所以你不能可靠地分辨出它和其他400错误之间的区别。要解决这个问题,你可以匹配错误信息,但当然可能会改变:
调用API函数时出错" sharing / list_folders":您的API应用程序是一个"应用程序文件夹"应用程序。不允许访问此API函数。
答案 1 :(得分:0)
感谢@Greg指出我正确的方向。
由于/sharing/list_folders
没有返回任何错误,我无法区分Full Dropbox&应用程序文件夹访问。
为了将来参考,为了解决我的问题,我做了以下几点:
/sharing/get_folder_metadata
发送了一个包含shared_folder_id
invalid_id
),则access_token具有Full Dropbox访问权限