dropbox/dropbox-sdk

Dropbox SDK for PHP

维护者

详细信息

github.com/dropbox/dropbox-sdk-php

安装数量: 1,233,344

依赖项: 28

建议者: 3

安全性: 0

星标: 229

关注者: 35

分支: 86

v1.1.7 2016-08-08 23:48 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

要求

SDK API文档。

设置

如果您使用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调用。

运行示例和测试

  1. 下载此存储库。
  2. 将您的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+)。

  1. 转到Dropbox API 应用控制台,转到“web-file-browser.app”中配置的API应用,转到“OAuth重定向URI”部分,并添加“[http://localhost:5000/dropbox-auth-finish](http://localhost:5000/dropbox-auth-finish)”。
  2. 运行“php web-file-browser.php”。
  3. 将浏览器指向“[http://localhost:5000/](http://localhost:5000/)”。

使用现有的网络服务器配置。

  1. 将整个SDK文件夹复制到您的网络服务器文档路径中。例如,假设脚本可通过“[http://localhost/~scooby/dropbox/examples/web-file-browser.php](http://localhost/~scooby/dropbox/examples/web-file-browser.php)”访问。
  2. 转到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)”。
  3. 将浏览器指向“[http://localhost/~scooby/dropbox/examples/web-file-browser.php](http://localhost/~scooby/dropbox/examples/web-file-browser.php)”。

运行测试

  1. 运行:composer install --dev下载依赖项。(您需要Composer。)
  2. 在“test/test.auth”中放置一个“auth info”文件。(您可以使用“authorize.php”示例脚本生成“test/test.auth”。)
./vendor/bin/phpunit test/