Загрузить файл из Dropbox на сервер

Я хочу загрузить файлы из Dropbox и должен сохранить их на своем сервере от имени пользователя Dropbox. Я пытался с curl и file_get_contents. Но не смог добиться успеха. Нужно ли использовать какой-либо API-метод dropbox? Я мог бы загрузить файл из браузера, но мне нужно сохранить его на сервере. Мое приложение является своего рода файлообменником.

1

Решение

Браузерный клиент Dropbox разработан для использования только зарегистрированными пользователями, когда пользователю необходимо войти в систему, а затем он может получить доступ к файлам там.

Но, как вы сказали, что хотите получить доступ к файлам Dropbox, от имени пользователей вам нужно использовать API-интерфейсы Dropbox Core, которые вы можете использовать PHP Dropbox SDK создать собственное приложение.
Я не думаю, что есть другой способ.

Как вы упомянули, вы хотите получать доступ к файлам из Dropbox от имени пользователя, я думаю, вы могли бы думать об этом без взаимодействия с пользователем, но есть одна загвоздка, Dropbox использует OAuth 1.0 или 2.0, и в обоих методах необходимо взаимодействие с пользователем. (Подробнее читайте здесь)

Также вы сказали, что ваше приложение является своего рода File Sharing, Так что посмотрите на Процесс обзора приложения Dropbox, который запрещает публичный поиск File Share Приложения.

Не создавайте приложения для обмена файлами

Dropbox не поддерживает создание общедоступных сетей обмена файлами поверх Dropbox.

2

Другие решения

Вы можете использовать публичную ссылку Dropbox на файл и использовать file_get_contents а также file_put_contents,
Пример ванильного PHP ниже.

<?php
// Custom Dropbox link. Notice the ?dl=1 at the end.
$url = file_get_contents( 'https://www.dropbox.com/s/hash/file.mp4?dl=1' );

// Your new file name
$file = "downloaded-video.mp4";

// open, write and close the new file
file_put_contents($file, $url);
?>

API от поставщика услуг обычно являются лучшим способом доступа к их данным. Конечно, лучше бы этот метод.

Мое единственное примечание: будьте осторожны, чтобы не сломать ToS Dropbox.

1

Вы можете использовать / скачать. он вернет ответ, как показано ниже:

{
"name": "Prime_Numbers.txt",
"id": "id:a4ayc_80_OEAAAAAAAAAXw",
"client_modified": "2015-05-12T15:50:38Z",
"server_modified": "2015-05-12T15:50:38Z",
"rev": "a1c10ce0dd78",
"size": 7212,
"path_lower": "/homework/math/prime_numbers.txt",
"path_display": "/Homework/math/Prime_Numbers.txt",
"sharing_info": {
"read_only": true,
"parent_shared_folder_id": "84528192421",
"modified_by": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc"},
"property_groups": [
{
"template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa",
"fields": [
{
"name": "Security Policy",
"value": "Confidential"}
]
}
],
"has_explicit_shared_members": false,
"content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"

}

Смотрите подробности здесь: https://www.dropbox.com/developers/documentation/http/documentation#files-download

0

Dropbox Chooser — это самый быстрый способ получить файлы из Dropbox

https://www.dropbox.com/developers/chooser

В демонстрационном разделе выберите прямую ссылку и выберите файл dropbox, чтобы создать прямую ссылку.

Войдите в SSH и перейдите в папку, в которую вы хотите скачать & вставьте команду

curl -O 'url'
0
По вопросам рекламы [email protected]