gpt4 book ai didi

dropbox - 无法使用 php api 将文件上传到 Dropbox?

转载 作者:行者123 更新时间:2023-12-04 22:49:37 25 4
gpt4 key购买 nike

我正在尝试使用 dropbox api 上传文件,但以下代码显示了一些错误:

bootstrap.php

// Register a simple autoload function
spl_autoload_register(function($class){
$class = str_replace('\\', '/', $class);
require_once('../' . $class . '.php');
});

// Set your consumer key, secret and callback URL
$key = 'XXXXXXXXXXXXX';
$secret = 'XXXXXXXXXXXXX';

// Check whether to use HTTPS and set the callback URL
$protocol = (!empty($_SERVER['HTTPS'])) ? 'https' : 'http';
$callback = $protocol . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

// Instantiate the required Dropbox objects
$encrypter = new \Dropbox\OAuth\Storage\Encrypter('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
$storage = new \Dropbox\OAuth\Storage\Session($encrypter);
$OAuth = new \Dropbox\OAuth\Consumer\Curl($key, $secret, $storage, $callback);
$dropbox = new \Dropbox\API($OAuth);

putFile.php
// Require the bootstrap
require_once('bootstrap.php');

// Create a temporary file and write some data to it
$tmp = tempnam('/tmp', 'dropbox');
$data = 'This file was uploaded using the Dropbox API!';
file_put_contents($tmp, $data);

// Upload the file with an alternative filename
$put = $dropbox->putFile($tmp, 'api_upload_test.txt');

// Unlink the temporary file
unlink($tmp);

// Dump the output
var_dump($put);

代码作者:BenTheDesigner-Dropbox

错误:
fatal error :未捕获异常“Dropbox\Exception”,消息为“应用程序文件夹(沙盒)访问尝试失败,因为此应用程序未配置为具有应用程序文件夹。”您的访问类型应该改为“保管箱”吗? (状态代码:403)'在 C:\wamp\www\BenTheDesigner-Dropbox-b49576c\Dropbox\OAuth\Consumer\Curl.php 中的第 103 行

( ! ) Dropbox\Exception:应用文件夹(沙盒)访问尝试失败,因为此应用未配置为具有应用文件夹。您的访问类型应该改为“保管箱”吗? (状态代码:403)在 C:\wamp\www\BenTheDesigner-Dropbox-b49576c\Dropbox\OAuth\Consumer\Curl.php 第 103 行

我不知道该怎么做?

最佳答案

您目前可以为 Dropbox API 应用注册两种“访问类型”,“应用文件夹”(又名沙箱)和“完整 Dropbox”(又名 Dropbox)。您在注册应用程序时做出此选择。之后,您可以在应用程序的选项页面上查看您的类型。您可以在此处找到应用选项页面的链接:
https://www.dropbox.com/developers/apps

在您的代码中,您需要设置“root”(通常设置在与您的 key 相同的位置)以反射(reflect)正确的访问类型。

此错误意味着您的应用已注册以获得完整的 Dropbox 访问权限,但您已在代码中设置了应用文件夹。

要解决此问题,请找到您的根设置位置并将其切换到“dropbox”。 (或者,如果您确实想使用应用程序文件夹访问权限,请注册具有应用程序文件夹访问权限的新应用程序并使用这些 key 。)

看起来您正在使用的库在您应该使用的 API 类中有一个函数“setRoot”:
https://github.com/BenTheDesigner/Dropbox/blob/master/Dropbox/API.php

关于dropbox - 无法使用 php api 将文件上传到 Dropbox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10226807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com