Я пытаюсь получить код авторизации и использовать его в функции для доступа к токену доступа.
, но я получил эту ошибку
InvalidArgumentException: у 'queryParams' неверный тип;ожидающий массив, получил строку
getAuthCode:
private function getWebAuth(){
# Include the Dropbox SDK libraries
$appKey = '<REDACTED>';
$appSecret = '<REDACTED>';
$appInfo = new dbx\AppInfo($appKey, $appSecret);
$clientIdentifier = "ExecutiveCoatings";
// Get the current domain protocol to use in the redirect uri
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
// genertate the correct redirect uri
$redirectUri = $protocol.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$redirectUri = str_replace("dropbox_start","dropbox_finish",$redirectUri);
$csrfTokenStore = new dbx\ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token');
$webAuth = new dbx\WebAuth($appInfo, $clientIdentifier, $redirectUri, $csrfTokenStore);
return $webAuth;
}
Я могу использовать функцию getAuthCode в методе dropbox_start:
public function dropbox_start()
{
$authorizeUrl = $this->getWebAuth()->start();
// send the user to Dropbox authentication page
header('Location: '.$authorizeUrl);
exit();
}
, а также в dropbox_finishметод, когда я устанавливаю WebAuth
в WebAuthNoRedirect
и использую сгенерированный код статически в разделе $ authCode, но когда я хочу получить $ authCode динамически и установить его и другие действия, это дает мне ошибку:
public function dropbox_finish()
{
// get the accessToken from redirected uri
$authCode = $_GET['code'];
list($accessToken, $dropboxUserId) = $this->getWebAuth()->finish($authCode);
var_dump($accessToken);
session_destroy();
die();
}
что не так?