Пример API DropBox с использованием Curl и Oauth 2 для загрузки файла в DropBox

Я ищу везде и не смог найти подходящий пример и недостаточно хорошо разбираюсь, чтобы иметь возможность сортировать его через документы. Может ли кто-то с большим знанием, чем я, показать мне, как сформировать команду CURL для OAUTH 2? И мне нужен только секретный ключ OAUTH 2? Мне показывают ключ приложения, секрет приложения и oauth 2. Я использую это в скрипте perl, если это имеет значение.

ближайший код, который я нашел, это:

 curl --request PUT --header "Content-Length: `ls -la jonathan.txt | awk '{ print }'`" --header         
 "Content-Type: multipart/mixed" --data-binary "@jonathan.txt" "https://api-    
 content.dropbox.com/1/files_put/dropbox/jonathan.txt?access_token=ABCDEF"

Но Я не думаете, что это OAUTH 2?

3 ответов


Если у вас есть маркер доступа (создано с помощью приложения консоли):

curl -H "Authorization: Bearer <your token>" https://api-content.dropbox.com/1/files_put/auto/ -T <your file path>

вам понадобится маркер доступа для учетной записи. (Обычно это достигается путем прохождения потока OAuth, но вы также можете получить его для своей учетной записи, нажав кнопку "Создать" на странице для вашего приложения Dropbox. Смотри https://www.dropbox.com/developers/blog/94/generate-an-access-token-for-your-own-account.)

Как только у вас есть маркер доступа, ваша команда curl, вероятно, должна работать, хотя я предпочитаю --header "Authorization:Bearer abc123xyz" над помещением маркера доступа в параметре запроса. Кроме того, отбросьте Content-Type: multipart/mixed, так как это не то, что вы отправляете.

Я бы также рекомендовал "авто" вместо "dropbox", просто потому, что он всегда делает правильные вещи независимо от типа приложения.


вот рабочие коды для загрузки файла в dropbox через запрос CURL.

curl -X POST https://content.dropboxapi.com/2/files/upload \
  --header "Authorization: Bearer <your token>" \
  --header "Dropbox-API-Arg: {\"path\": \"/file_path.txt\",\"mode\": \"add\",\"autorename\": true,\"mute\": false}" \
  --header "Content-Type: application/octet-stream" \
  --data-binary "@file_path.txt"