Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Dropbox重定向uri_Php_Dropbox - Fatal编程技术网

Php Dropbox重定向uri

Php Dropbox重定向uri,php,dropbox,Php,Dropbox,我正在使用OAuth 2.0访问dropbox,在成功验证用户身份后,它将获得一个访问令牌。当我成功地对一个用户进行身份验证时,我会停留在成功页面上,在那里我有授权代码。如何重定向到本地主机并将其转换为访问令牌?我正在使用php进行开发 $appInfo = dbx\AppInfo::loadFromJsonFile("config.json"); $webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0"); $autho

我正在使用OAuth 2.0访问dropbox,在成功验证用户身份后,它将获得一个访问令牌。当我成功地对一个用户进行身份验证时,我会停留在成功页面上,在那里我有授权代码。如何重定向到本地主机并将其转换为访问令牌?我正在使用php进行开发

$appInfo = dbx\AppInfo::loadFromJsonFile("config.json");
$webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0");

$authorizeUrl = $webAuth->start();  
//echo $authorizeUrl;
header("Location:$authorizeUrl");

//$authCode = \trim(\readline("Enter the authorization code here: "));
$authCode = $_GET;
list($accessToken, $dropboxUserId) = $webAuth->finish($authcode);

print "Access Token: " . $accessToken . "\n";

$dbxClient = new dbx\Client($accessToken, "PHP-Example/1.0");
$accountInfo = $dbxClient->getAccountInfo();
print_r($accountInfo);

您使用的是
WebAuthNoRedirect
,它不会重定向回您的应用程序。您需要使用
WebAuth
(它执行重定向)。如果查看php SDK下载中的
web file browser.php
示例,您将看到如下示例:

function getWebAuth()
{
    list($appInfo, $clientIdentifier, $userLocale) = getAppConfig();
    $redirectUri = getBaseUrl()."/dropbox-auth-finish";
    $csrfTokenStore = new dbx\ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token');
    return new dbx\WebAuth($appInfo, $clientIdentifier, $redirectUri, $csrfTokenStore, $userLocale);
}

我将从该示例开始,因为它是一个完整的端到端web应用程序。

您使用的是
WebAuthNoRedirect
,它不会重定向回您的应用程序。您需要使用
WebAuth
(它执行重定向)。如果查看php SDK下载中的
web file browser.php
示例,您将看到如下示例:

function getWebAuth()
{
    list($appInfo, $clientIdentifier, $userLocale) = getAppConfig();
    $redirectUri = getBaseUrl()."/dropbox-auth-finish";
    $csrfTokenStore = new dbx\ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token');
    return new dbx\WebAuth($appInfo, $clientIdentifier, $redirectUri, $csrfTokenStore, $userLocale);
}

我将从该示例开始,因为它是一个完整的端到端web应用程序。

请分享您的代码好吗?如果看不到您是如何构造授权URL的,很难猜出是什么问题。我真的不知道如何检索参数。请共享您的代码好吗?如果不了解您是如何构造授权URL的,就很难猜出哪里出了问题。我真的不知道如何检索参数。