首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dropbox调用未定义函数readline()

Dropbox调用未定义函数readline()
EN

Stack Overflow用户
提问于 2014-02-16 07:13:25
回答 2查看 1.6K关注 0票数 0

我有以下代码

代码语言:javascript
复制
<?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()

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-16 07:52:50

从你的评论中可以看出,你想把它作为一个网络应用程序来运行。如果是这样,你就会遇到麻烦。这看起来像命令行应用示例代码,这就是为什么它使用readline (从命令行读取输入)。

您可能需要从SDK附带的web-file-browser示例开始。这意味着作为一个web应用程序运行,应该向您展示如何在浏览器中进行身份验证(除其他外)。

票数 1
EN

Stack Overflow用户

发布于 2014-11-28 08:01:53

同样的代码我也有同样的问题。你忘了加一句:

代码语言:javascript
复制
    $authorizeUrl = $webAuth->start(); 

就在这句话之后:

代码语言:javascript
复制
    $webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0");

您需要做的是使用存储在变量$authorizeUrl中的创建的链接来获得授权代码。完成此操作后,您需要使用授权代码来生成令牌。对于这个注释,代码的一部分如下:

代码语言:javascript
复制
  <?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了。例如:

代码语言:javascript
复制
 $dbxClient = new dbx\Client($accessToken, "PHP-Example/1.0");
 $accountInfo = $dbxClient->getAccountInfo();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21808398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档