#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.