Бизнес-API: объект sharing_info не возвращен для /files/list_folder

#dropbox #dropbox-api

#dropbox #dropbox-api

Вопрос:

Я пытаюсь получить «общую информацию» о файле, который содержится внутри папки пользователя в пространстве команды.
В принципе, при совместном использовании файла с использованием ссылок из папки пользователя я хотел бы понять, был ли файл общим или нет.
Папка, содержащая общий файл, сама по себе не является общедоступной.

В документации указано, что:

Права доступа к содержимому возвращаются в sharing_info метаданных файла.
[…]
Отсутствие sharing_info в файле или папке указывает на то, что это не разделяемый контент, доступный только пользователю.

Я использовал API followin для получения списка пользовательских файлов и папок:

 curl -X POST 
  https://api.dropboxapi.com/2/files/list_folder 
  -H 'Authorization: Bearer <token>' 
  -H 'Content-Type: application/json' 
  -H 'Dropbox-API-Select-User: <user-id>' 
  -d '{"path": "","recursive": true,"include_media_info": false,"include_deleted": false,"include_has_explicit_shared_members": true,"include_mounted_folders": true, "limit":2000}'
  

Ответ не содержит sharing_info, но внутри dropbox настройки общего доступа настроены на ссылку с доступом к любому (см. Рисунок)
изображение общего файла

Есть ли какой-либо способ понять, используя API files/ list_folder, был ли файл передан по ссылке? Если нет, какой API я должен использовать, чтобы распознать этот случай? Спасибо

Ответ №1:

К сожалению, нет способа получить общие ссылки вместе со списком файлов. sharing_info Существует только для общего доступа к общим папкам, а не для общих ссылок. Я передам это как запрос функции. Я не могу обещать, если или когда это может быть реализовано.

Вместо этого, если вы хотите получить общие ссылки для какого-либо конкретного элемента, вы должны использовать /2/sharing/list_shared_links .

Комментарии:

1. Спасибо за ваш быстрый ответ, Грег, на данный момент мне было бы полезно узнать, был ли он общедоступным или нет. Тогда у меня есть 2 вопроса: есть ли какой-либо шанс узнать, может ли и когда эта функция быть реализована? Существует ли пакетный запрос для list_shared_links?

2. Я сделаю пометку, чтобы продолжить эту тему, если / когда это будет реализовано. Если вы вызовете /2/sharing/list_shared_links с no path , он вернет все общие ссылки (хотя вам может потребоваться взять возвращенные cursor , если они заданы, и перезвонить, чтобы получить больше, если их много).

3. Спасибо, Грег. Что именно вы имеете в виду под «нет path «? Я попытался отправить {"path": ""} и получил: > Ошибка при вызове функции API «sharing /list_shared_links»: тело запроса: путь: Корневая папка не поддерживается. Затем я попробовал с пустым телом, но получил общую ошибку 500. Также добавление Dropbox-API-Path-Root , указывающее на личное пространство участника, не работает.

4. @verodigiorgio Под «нет path » я подразумевал path полное исключение параметра. Похоже, вы только что попробовали это и получили ошибку 500. Пожалуйста, сообщите об этом здесь, включая x-dropbox-request-id значение заголовка ответа, чтобы мы могли изучить его для вас: dropbox.com/developers/contact Заранее спасибо!

5. Проблема в том, что для этого требуется два вызова API.