Я использую API-интерфейсы Box, доступные для выполнения различных операций с ящиками. У меня возникла проблема с разработкой удобного пользовательского интерфейса для настройки соединений с коробкой, чтобы мы могли указать имя папки и загрузить наши файлы в эту нужную папку. Я нашел API, который помогает нам помещать файлы в папки, указывая их идентификатор, но не их имя. Пожалуйста, дайте мне знать, если это возможно? Если это невозможно, пользователям будет очень сложно указать, куда они хотят загружать свои файлы.
Есть ли у нас API-интерфейсы веб-сервисов для получения идентификаторов папок путем указания имени папок?
Ответы (1)
Текущий способ достижения такого типа функциональности — пошаговое перемещение вниз по иерархии. (в основном для обхода дерева) с помощью этого вызова API: http://developers.box.com/docs/#folders-get-information-about-a-folder
Этот вызов даст вам «item_collection» для текущей папки, включая идентификаторы всех подпапок:
"item_collection":
{
"total_count":2,
"entries":[
{
"type":"file",
"id":"2305649799",
"sequence_id":"1",
"name":"testing.html"
},
{
"type":"folder",
"id":"2305623799",
"sequence_id":"1",
"name":"a child folder"
}
]
}
Вы можете постепенно возвращаться из корневой папки. Главный трюк заключается в том, чтобы знать, что корневая папка для пользователя всегда будет иметь идентификатор 0, так что это дает вам отправную точку.
например в этом примере, если вы искали папку
/дочерняя папка/что-то еще
ваши звонки будут:
https://api.box.com/2.0/folders/0 (для корневого папка)
https://api.box.com/2.0/folders/2305623799 (для дочерняя папка')
Это наиболее распространенный интерфейс для API облачных хранилищ. Единственное исключение, о котором я сейчас могу думать, — это Dropbox, чей API работает с путями.