dropbox / dropbox-sdk
Dropbox SDK for PHP
Requires
- php: >= 5.3
- ext-curl: *
Requires (Dev)
- apigen/apigen: 4.1.2
- phpunit/phpunit: ~4.0
- squizlabs/php_codesniffer: 2.0.0RC3
This package is not auto-updated.
Last update: 2020-07-30 09:43:56 UTC
README
不要使用此SDK。它依赖于已过时的Dropbox API v1。
替代方案:[https://www.dropbox.com/developers/documentation/communitysdks](https://www.dropbox.com/developers/documentation/communitysdks)
适用于PHP 5.3+的Dropbox SDK
一个PHP库,用于访问基于HTTP的Dropbox API。
许可证:[https://github.com/dropbox/dropbox-sdk-php/blob/HEAD/License.txt](https://github.com/dropbox/dropbox-sdk-php/blob/HEAD/License.txt) MIT
要求
- PHP 5.3+,需要64位整数。
- PHP cURL扩展启用SSL(通常内置)。
- 不得使用
mbstring.func_overload
来覆盖PHP的标准字符串函数。
设置
如果您使用Composer管理项目依赖项,请将以下内容添加到您的"composer.json"文件中:
"require": {
"dropbox/dropbox-sdk": "1.1.*"
}
如果您不使用Composer,请下载代码,将"lib/"文件夹复制到您的项目中适当的位置,并在您的代码中包含"lib/Dropbox/autoload.php"。例如,如果您已将"lib/"文件夹复制并命名为"dropbox-sdk/",则您将执行以下操作:
// Do this only if you're not using a global autoloader (such as Composer's). require_once "dropbox-sdk/Dropbox/autoload.php";
重要:许多PHP安装都存在不安全的SSL实现。要检查您的PHP安装是否不安全,请在命令行或通过您的Web服务器运行包含的"examples/test-ssl.php"脚本。
获取Dropbox API密钥
您需要Dropbox API密钥才能进行API请求。
- 请访问:[https://dropbox.com/developers/apps](https://dropbox.com/developers/apps)
- 如果您已经注册了应用程序,请点击"选项"链接以查看应用程序的API密钥和秘密。
- 否则,请点击"创建一个应用程序"来注册一个应用程序。选择"Dropbox API应用程序",然后选择"文件和数据存储",然后根据您的需要选择"是"或"否"。
将API密钥保存到名为"test.app"的JSON文件中。
{
"key": "Your Dropbox API app key",
"secret": "Your Dropbox API app secret"
}
使用Dropbox API
在您的应用程序能够访问Dropbox用户的文件之前,用户必须使用OAuth 2授权您的应用程序。成功完成此授权流程将为您提供一个用于用户Dropbox账户的访问令牌,该令牌允许您调用Dropbox API以访问其文件。
- 简单Web应用程序的授权示例:[Web文件浏览器示例](https://github.com/dropbox/dropbox-sdk-php/blob/HEAD/examples/web-file-browser.php)
- 命令行工具的授权示例:[命令行授权示例](https://github.com/dropbox/dropbox-sdk-php/blob/HEAD/examples/authorize.php)
一旦您有了访问令牌,创建一个Client
并开始进行API调用。
每个用户只需执行一次授权流程。一旦您为用户获取了访问令牌,请将其保存在某个持久位置,例如数据库中。下次该用户访问您的应用时,您可以跳过授权流程,直接进行API调用。
运行示例和测试
- 下载此存储库。
- 将您的Dropbox API密钥保存在名为“test.app”的文件中。参见:[获取Dropbox API密钥](#user-content-get-a-dropbox-api-key),见上。
authorize.php
此示例演示了OAuth 2授权流程。
./examples/authorize.php test.app test.auth
这将生成一个名为“test.auth”的文件,其中包含访问令牌。此文件可以传递给其他示例。
account-info.php
这是一个简单的示例,它调用/account/info API端点。
./examples/account-info.php test.auth
(您必须首先使用上面的“authorize”示例生成“test.auth”。)
web-file-browser.php
这是一个微型的网络应用,它通过OAuth 2授权流程,然后使用Dropbox API调用让用户浏览其Dropbox文件。
必需:将您之前创建的其中一个".app"文件复制到"examples/web-file-browser.app"。
使用PHP内置网络服务器(PHP 5.4+)。
- 转到Dropbox API 应用控制台,转到“web-file-browser.app”中配置的API应用,转到“OAuth重定向URI”部分,并添加“[http://localhost:5000/dropbox-auth-finish](http://localhost:5000/dropbox-auth-finish)”。
- 运行“
php web-file-browser.php
”。 - 将浏览器指向“[http://localhost:5000/](http://localhost:5000/)”。
使用现有的网络服务器配置。
- 将整个SDK文件夹复制到您的网络服务器文档路径中。例如,假设脚本可通过“[http://localhost/~scooby/dropbox/examples/web-file-browser.php](http://localhost/~scooby/dropbox/examples/web-file-browser.php)”访问。
- 转到Dropbox API 应用控制台,转到“web-file-browser.app”中配置的API应用,转到“OAuth重定向URI”部分,并添加“[http://localhost/~scooby/dropbox/examples/web-file-browser.php/dropbox-auth-finish](http://localhost/~scooby/dropbox/examples/web-file-browser.php/dropbox-auth-finish)”。
- 将浏览器指向“[http://localhost/~scooby/dropbox/examples/web-file-browser.php](http://localhost/~scooby/dropbox/examples/web-file-browser.php)”。
运行测试
- 运行:
composer install --dev
下载依赖项。(您需要Composer。) - 在“test/test.auth”中放置一个“auth info”文件。(您可以使用“authorize.php”示例脚本生成“test/test.auth”。)
./vendor/bin/phpunit test/