我有以下代码
<?php
// Include DropBox API
require_once "dropbox-sdk/Dropbox/autoload.php";
use \Dropbox as dbx;
// Settings for DropBox
$appInfo = dbx\AppInfo::loadFromJsonFile("config.json");
$webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0");
$authCode = \trim(\readline("A-WALID-KEY-HERE"));
list($accessToken, $dropboxUserId) = $webAuth->finish($authCode);
print "Access Token: " . $accessToken . "\n";
?>但是,当我运行代码时,我会得到这个错误。调用未定义函数readline()
我做错了什么?
发布于 2014-02-16 07:52:50
从你的评论中可以看出,你想把它作为一个网络应用程序来运行。如果是这样,你就会遇到麻烦。这看起来像命令行应用示例代码,这就是为什么它使用readline (从命令行读取输入)。
您可能需要从SDK附带的web-file-browser示例开始。这意味着作为一个web应用程序运行,应该向您展示如何在浏览器中进行身份验证(除其他外)。
发布于 2014-11-28 08:01:53
同样的代码我也有同样的问题。你忘了加一句:
$authorizeUrl = $webAuth->start(); 就在这句话之后:
$webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0");您需要做的是使用存储在变量$authorizeUrl中的创建的链接来获得授权代码。完成此操作后,您需要使用授权代码来生成令牌。对于这个注释,代码的一部分如下:
<?php
// Include DropBox API
require_once "dropbox-sdk/Dropbox/autoload.php";
use \Dropbox as dbx;
// Settings for DropBox
//$appInfo = dbx\AppInfo::loadFromJsonFile("config.json");
//$webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0");
//**$authorizeUrl = $webAuth->start();**
$authCode = \trim(\readline("**A-WALID-KEY-HERE**"));
list($accessToken, $dropboxUserId) = $webAuth->finish($authCode);
print "Access Token: " . $accessToken . "\n";
?>一旦您得到令牌,将其保存在安全的地方,并对其余的行进行注释。然后你就可以毫无问题地访问dropbox了。例如:
$dbxClient = new dbx\Client($accessToken, "PHP-Example/1.0");
$accountInfo = $dbxClient->getAccountInfo();https://stackoverflow.com/questions/21808398
复制相似问题