Как я могу использовать базовый API Dropbox в Stack Overflow

Я пытаюсь использовать базовый API Dropbox в PHP (https://www.dropbox.com/developers-v1/core/start/php) но я застрял при запуске следующего решения кода, указанного на переполнение стека

  <?php

require_once "dropbox-php-sdk-1.1.6/lib/Dropbox/autoload.php";

use \Dropbox as dbx;

$dropbox_config = array(
'key'    => 'your_key',
'secret' => 'your_secret'
);

$appInfo = dbx\AppInfo::loadFromJson($dropbox_config);
$webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0");

$authorizeUrl = $webAuth->start();
echo "1. Go to: " . $authorizeUrl . "<br>";
echo "2. Click \"Allow\" (you might have to log in first).<br>";
echo "3. Copy the authorization code and insert it into $authCode.<br>";

$authCode = trim('DjsR-iGv4PAAAAAAAAAAAbn9snrWyk9Sqrr2vsdAOm0');

list($accessToken, $dropboxUserId) = $webAuth->finish($authCode);
echo "Access Token: " . $accessToken . "<br>";

$dbxClient = new dbx\Client($accessToken, "PHP-Example/1.0");

// Uploading the file
$f = fopen("working-draft.txt", "rb");
$result = $dbxClient->uploadFile("/working-draft.txt", dbx\WriteMode::add(), $f);
fclose($f);
print_r($result);

// Get file info
$file = $dbxClient->getMetadata('/working-draft.txt');

// sending the direct link:
$dropboxPath = $file['path'];
$pathError = dbx\Path::findError($dropboxPath);
if ($pathError !== null) {
fwrite(STDERR, "Invalid <dropbox-path>: $pathError\n");
die;
}

// The $link is an array!
$link = $dbxClient->createTemporaryDirectLink($dropboxPath);
// adding ?dl=1 to the link will force the file to be downloaded by the client.
$dw_link = $link[0]."?dl=1";

echo "Download link: ".$dw_link."<br>";

?>

Когда я запускаю этот код, я получил эту ошибку

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

Я комментирую некоторый код из основного API Dropbox, который находится в
dropbox-php-sdk-1.1.6 / lib / Dropbox / RequestUtil.php для запуска основного API dropbox в версии 5.6 php

if (strlen((string) PHP_INT_MAX) < 19) {
// Looks like we're running on a 32-bit build of PHP.  This could cause problems because some of the numbers
// we use (file sizes, quota, etc) can be larger than 32-bit ints can handle.
throw new \Exception("The Dropbox SDK uses 64-bit integers, but it looks like we're running on a version of PHP that doesn't support 64-bit integers (PHP_INT_MAX=" . ((string) PHP_INT_MAX) . ").  Library: \"" . __FILE__ . "\"");
}

3

Решение

Dropbox v1 API был выключен 28 сентября 2017 года. Библиотека, которую вы пытаетесь использовать, создана для этой устаревшей версии v1.

Вы должны использовать один из v2 библиотеки PHP вместо:

4

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

К вашему сведению, API v1 удаляется, поэтому он выдаст ошибку 400 с этим сообщением: {«error»: «v1_retired»}. Это означает, что ваша работа / код, использующий конечные точки API v1, может перестать работать.

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

https://www.dropbox.com/developers/reference/migration-guide

0

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