Загрузка файла в Dropbox с помощью API Dropbox v2

Я хочу сохранить загруженный файл в Dropbox, используя PHP, а также использовать Dropbox v2 API для этого.

Я не получаю никакого ответа на это.

Ниже мой код.

  <?php
$filename = 'qw.txt';

$api_url = 'https://content.dropboxapi.com/2/files/upload'; //dropbox api url
$token = '<REDACTED>'; // oauth token

$headers = array('Authorization: Bearer '. $token,
'Content-Type: application/octet-stream',
'Dropbox-API-Arg: '.
json_encode(
array(
"path"=> '/'. basename($filename),
"mode" => "add",
"autorename" => true,
"mute" => false
)
)

);

$ch = curl_init($api_url);

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);

$path = $filename;


$fp = fopen($path, 'rb');
$filesize = filesize($path);

curl_setopt($ch, CURLOPT_POSTFIELDS, fread($fp, $filesize));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//        curl_setopt($ch, CURLOPT_VERBOSE, 1); // debug

$response = curl_exec($ch);


$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo($response.'<br/>');
echo($http_code.'<br/>');

curl_close($ch);

Я получаю ниже ответ.

введите описание изображения здесь

2

Решение

После того, как вы получите токен доступа из приложения Dropbox, запустите указанный ниже код, ваш файл будет загружен в Dropbox.

 <?php
$filename = 'pr.jpg';

$api_url = 'https://content.dropboxapi.com/2/files/upload'; //dropbox api url
$token = 'Generated access token'; // oauth token

$headers = array('Authorization: Bearer '. $token,
'Content-Type: application/octet-stream',
'Dropbox-API-Arg: '.
json_encode(
array(
"path"=> '/'. basename($filename),
"mode" => "add",
"autorename" => true,
"mute" => false
)
)

);

$ch = curl_init($api_url);

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);

$path = $filename;


$fp = fopen($path, 'rb');
$filesize = filesize($path);

curl_setopt($ch, CURLOPT_POSTFIELDS, fread($fp, $filesize));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1); // debug

$response = curl_exec($ch);


$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);



echo($response.'<br/>');
echo($http_code.'<br/>');

curl_close($ch);
2

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector