2016-10-06 4 views
0

В настоящее время я пытаюсь работать с конечной точкой API Dropbox list_file_members, так как мне кажется, что это единственное место, где можно узнать, кто владеет файлом ( см. Пример результата, взятый из страницы документации)Dropbox API V2 list_file_members/batch empty results

{ 
    "users": [ 
     { 
      "access_type": { 
       ".tag": "owner" 
      }, 
      "user": { 
       "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", 
       "same_team": true, 
       "team_member_id": "dbmid:abcd1234" 
      }, 
      "permissions": [], 
      "is_inherited": false 
     } 
    ], 
    "groups":[...] 
    ... 
} 

Однако, когда я называю API на одном файле я получаю следовать

{ 
    "users": [], 
    "groups": [ 
    { 
     "access_type": { 
     ".tag": "editor" 
     }, 
     "permissions": [], 
     "is_inherited": true, 
     "group": { 
     "group_name": "Everyone at TEAM_NAME_HERE", 
     "group_id": "g:GROUP_ID_HERE", 
     "member_count": 6, 
     "group_management_type": { 
      ".tag": "company_managed" 
     }, 
     "group_type": { 
      ".tag": "team" 
     }, 
     "is_owner": false, 
     "same_team": true 
     } 
    } 
    ], 
    "invitees": [] 
} 

Этот результат не содержит информации о владельце, поэтому я предполагаю, что это потому, что каждый человек имеет те же уровни доступа?

Проблема ухудшается, когда я пытаюсь вызвать файлы в пакетном режиме, используя sharing_list_file_members/пакетное конечную точку, я получаю следующий результат

[ 
    { 
    "file": "id:THIS_IS_MY_FILE_ID", 
    "result": { 
     ".tag": "result", 
     "members": { 
     "users": [], 
     "groups": [], 
     "invitees": [] 
     }, 
     "member_count": 0 
    } 
    } 
] 

Очевидно, это еще менее полезно, это то же самое, когда я получить доступ к API через мой собственный PHP, а также API-проводник, может ли кто-нибудь сказать мне, где я ошибаюсь, и почему я не получаю результатов от пользователей и даже групп, когда это делается партиями?

ответ

0

/2/sharing/list_file_members конечная точка описана как:

Используется для получения членов, которые были приглашены в файл, как наследственные и uninherited членов.

/2/sharing/list_file_members/batch конечная точка описана как:

Получить члены нескольких файлов одновременно. Аргументы этого маршрута более ограничены, и ограничение на размер результата запроса на файл является более строгим. Чтобы настроить результаты больше, используйте конечную точку отдельного файла. Унаследованные пользователи не включены в результат, а разрешения для этой конечной точки не возвращаются.

Похоже, что файл для вашего примера находится в командной папке, поэтому группа, указанная для вашего не-пакетного примера, представляет собой группу команд, то есть наследуемую группу. Документация указывает, что эта группа не ожидается при использовании конечной точки партии.

+0

А, спасибо, Грег, извините, я был неясен, поскольку он говорит, что унаследованные пользователи не включены в пакет, но я не понимал, что также охватывают унаследованные группы. Глядя на свой профиль, вы походите на вопрос парня, знаете ли вы, есть ли API-вызов, который возвращает исходный загрузчик/владелец документа в папке команды? –

+0

Нет проблем, документация, безусловно, может быть более четкой. Мы запомним это. Что касается просмотра оригинального создателя файла, я не считаю, что это обязательно доступно через API. (Оконечные точки, рассмотренные выше, касаются только обмена, а не изменений/истории файла.) Вы можете использовать [/2/files/list_revisions](https://www.dropbox.com/developers/documentation/http/documentation# files-list_revisions), но это может не всегда возвращаться к исходной версии. – Greg

+0

Спасибо за вашу помощь Грег, я также пришел к выводу, что история изменений может быть единственным способом добраться до того, что мне нужно. Приветствия за помощь плохо отметили это, как решили сейчас :) –

Смежные вопросы