1

我正在使用 Dropbox API for PHP,我想知道在没有命令行的情况下自动上传文件的正确方法。

现在我的流程是:

  1. php -f upload.php
  2. 在浏览器上复制长网址
  3. 点击允许按钮
  4. 复制令牌
  5. 将令牌粘贴到控制台上并完成。

我的计划是在我的 Dropbox 上自动备份一些 JSON 文件。

有没有其他方法可以在没有控制台的情况下做到这一点?并复制令牌和简单的解决方案?

编辑 当我尝试对其进行硬编码时,它的输出是->

Fatal error: Uncaught exception 'Dropbox\Exception_BadRequest' with message 'HTTP status 400
{"error_description": "code has already been used", "error": "invalid_grant"}'

编辑 2*

访问令牌输出

dusIlAq36pkAAAAAAAAHQ6daX9hwt-3wUL240gUUjIOYrscX2OYOkCyj8ZghUgG2

我将其设置为

$authCode = 'dusIlAq36pkAAAABBBBBAAAHQ6daX9hwt-3wUL240gUUjIOYrscX2OYOkCyj8ZghUgG2';

在这里放味精

 ...Fatal error: Uncaught exception 'Dropbox\Exception_BadRequest' with message 'HTTP status 400
{"error_description": "code doesn't exist or has expired",
4

3 回答 3

2

用户只需授权您的应用一次。之后,您可以继续重复使用该访问令牌。(您可以在脚本中对其进行硬编码。)

编辑

来自https://www.dropbox.com/developers/core/start/php

最后,调用完成将授权码转换为访问令牌。

list($accessToken, $dropboxUserId) = $webAuth->finish($authCode);
print "Access Token: " . $accessToken . "\n";

访问令牌是您代表该用户发出 API 请求所需的全部内容,因此您应该将其存储起来以妥善保管(即使我们在本教程中不这样做)。通过存储访问令牌,您无需再次执行这些步骤,除非用户重新安装您的应用程序或通过 Dropbox 网站撤销访问权限。

于 2014-04-25T05:33:58.763 回答
0

您正在使用访问令牌作为身份验证码 - 您必须将其设置为 $accessToken

$accessToken = 'dusIlAq36pkAAAABBBBBAAAHQ6daX9hwt-3wUL240gUUjIOYrscX2OYOkCyj8ZghUgG2';

并评论整个 authcode 过程。当您有访问令牌时,您不需要它。

于 2015-03-24T12:35:20.330 回答
0

仅供参考:“此访问令牌可用于通过 API 访问您的帐户 (you@example.com)。请勿与任何人共享您的访问令牌。”

于 2015-07-13T12:53:58.117 回答