2016-10-12 7 views
0

우리는 데이터베이스에 지난 몇 년 동안 인증 된 여러 계정을 섞어 놓았습니다. 일부 계정에는 "전체 액세스 권한"이 주어졌으며 나중에는 "App Folder"를 사용하는 것으로 변경되었습니다.access_token이 App Folder 또는 Full Access를위한 것인지 알고 있습니까?

우리가 가진 access_token이 App Folder 또는 전체 계정에 있는지 알아보기 위해 API를 사용할 수있는 방법이 있습니까?

기본적으로 모든 계정을 앱 폴더로 전환하고 싶지만 필요로하는 계정 만 변경하려고합니다. 폴더를 이동하고 DB에 기본 경로를 저장해야합니다.

문서를 살펴본 결과 나는이 정보를 제공하는 어떤 것도 볼 수 없다고 생각합니다.

+0

[참조 용 교차 링크 : https://www.dropboxforum.com/t5/API-support/Know-if-access-token-is-for-an-App- 폴더 또는 전체 액세스/mp/190351] – Greg

답변

0

Dropbox API는 권한 수준 (예 : 앱 폴더와 전체 보관 용 계정)이 앱에 투명하도록 설계되어 있으므로 주어진 액세스 토큰에 대한 권한을 감지하는 데 좋은/공식적인 프로그래밍 방식이 없습니다. 우리는 이것을 기능 요구라고 생각할 것이다.

즉, API의 일부 기능은 전체 Dropbox 앱에서만 액세스 할 수 있으므로 암묵적으로 권한을 검색하는 방법으로 사용할 수 있습니다. 예를 들어, /2/sharing/list_folders 엔드 포인트는 전체 보관 용 애플리케이션에서만 사용할 수 있습니다.

이 끝점을 사용하려면 앱에 전체 Dropbox 액세스 권한이 있어야합니다.

앱 폴더 응용 프로그램의 경우, 당신은 좋은 구조 (409)를 일반 텍스트 본문에 400 오류 (그리고 것이기 때문에 그것은 여전히 ​​좋은 해결책이 아니다 비록 잠재적으로 당신을 위해 일할 수있는

오류) 그래서 당신은 안정적으로 다른 400 오류의 차이를 말할 수 없습니다.

오류 API 기능 "공유/list_folders"를 호출 : 오류 메시지에 대해 일치 할 수 있지만, 물론 변경 될 수 있음을 해결하려면 귀하의 API 응용 프로그램은 "앱 폴더"응용 프로그램입니다. 이 API 함수에 액세스 할 수 없습니다.

+0

Thanks @Greg (다시!) – spirie

+0

공유/list_folders가 오류를 반환하지 않았기 때문에 전체 액세스/앱 폴더 간의 차이를 구분할 수 없었습니다. 향후 참조로 다음을 수행했습니다. – 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이 후 액세스를 전체 보관 용 액세스
  • 있다 _token에는 앱 폴더 액세스 만 있습니다.