rps / dropbox-sdk
PHP Dropbox SDK
Requires
- php: >= 5.3
- ext-curl: *
Requires (Dev)
- apigen/apigen: 2.8.2
- phpunit/phpunit: ~4.0
- squizlabs/php_codesniffer: 2.0.0RC3
This package is not auto-updated.
Last update: 2024-09-28 15:34:16 UTC
README
一个用于访问 Dropbox HTTP API 的 PHP 库。
许可证: 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
- 如果您已经注册了应用程序,请单击 "选项" 链接以查看应用程序的 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 文件浏览器示例
- 命令行工具的授权示例: 命令行授权示例
一旦您有了访问令牌,请创建一个 Client
并开始执行 API 调用。
您只需为每个用户执行一次授权过程。一旦您有了用户的访问令牌,请将其保存在某个持久位置,例如数据库中。下次该用户访问您的应用程序时,您可以跳过授权过程并直接执行 API 调用。
运行示例和测试
- 下载此存储库。
- 将您的 Dropbox API 密钥保存到名为 "test.app" 的文件中。参见:获取 Dropbox API 密钥。
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 内置的 Web 服务器(PHP 5.4+)。
- 转到 Dropbox API 应用控制台,转到 "web-file-browser.app" 中配置的 API 应用,转到 OAuth 重定向 URI 部分,并添加 "https://:5000/dropbox-auth-finish"。
- 运行 "
php web-file-browser.php
"。 - 将您的浏览器指向 "https://:5000/"。
使用现有的 Web 服务器设置。
- 将整个 SDK 文件夹复制到您的 Web 服务器的文档路径。例如,假设脚本可在 "https:///~scooby/dropbox/examples/web-file-browser.php" 访问。
- 转到 Dropbox API 应用控制台,转到 "web-file-browser.app" 中配置的 API 应用,转到 OAuth 重定向 URI 部分,并添加 "https:///~scooby/dropbox/examples/web-file-browser.php/dropbox-auth-finish"。
- 将您的浏览器指向 "https:///~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/