Диске загрузки не происходит, когда переехал в промежуточной URL-адрес
Я использую google-drive-sdk для загрузки pdf-файла (динамически генерируемого в веб-приложении php) в Gdrive.
О моем приложении
При нажатии кнопки Отправить пользователи перенаправляются на страницу благодарности. На фоне
генерируется pdf-файл
и этот файл будет загружен в учетную запись Gdrive --(настроил идентификатор клиента и секретный ключ для приложения в консоли Google) :
Я могу загрузить файл в настроенный GDrive, но в первый раз для аутентификации я запускаю url-адрес (redirect url, указанный в консоли Google) в браузере.
http://localhost:3422/wordpress/wp-content/plugins/mktProc/google-api-php-client/gDrive_access/pdf_results_upload.php
Это приводит меня к странице запроса разрешения GDrve и подсказкам разрешить\запретить доступ и отлично работает в локальной среде разработки
моя проблема
Но для перемещения кода на промежуточный сервер в консоли разработчика Google я меняю исходный и возвращаю uri на промежуточный uri, как показано ниже.
http://hyperAd.com/wp-content/plugins/mktProc/google-api-php-client/gDrive_access/pdf_results_upload.php
После этого, когда я выполняю приложение, оно не переходит в Гугл на запрос о разрешении страница для запроса разрешить\запретить. Таким образом, маркер доступа не получен для продолжения вставки файла в GDrive.
Чего мне здесь не хватает или какую ошибку я совершил?
Мой текущий код
if(!session_id()){session_start();} require_once realpath(dirname(__FILE__) . '/../autoload.php'); $credentialsPath = realpath(dirname(__FILE__) . '/../../../../../'); $pdf_filename=''; try { if(isset($_SESSION['pdf_filename']) && $_SESSION['pdf_filename']) $pdf_filename=$_SESSION['pdf_filename']; } catch(Exception $ex) { echo ("This is for GDrive Upload from MiniROI"); } $pfdStoragePath=dirname(__FILE__)."/../../vendor/pdf/".$pdf_filename; /************************************************ ATTENTION: Fill in these values! Make sure the redirect URI is to this page, e.g: http://localhost:8080/fileupload.php ************************************************/ $client_id = '374094698471-5.apps.googleusercontent.com'; $client_secret = 'd374094698471y'; $redirect_uri = 'http://localhost:3422/wordpress/wp-content/plugins/miniROIMarketo/google-api-php-client/gDrive_access/roi_results_upload.php'; $client = new Google_Client(); $client->setClientId($client_id); $client->setClientSecret($client_secret); $client->setRedirectUri($redirect_uri); $client->addScope("https://www.googleapis.com/auth/drive"); $client->setAccessType("offline"); //$client->setApprovalPrompt('force'); $service = new Google_Service_Drive($client); if (isset($_REQUEST['logout'])) { unset($_SESSION['upload_token']); } $accessToken=""; //log $plugin_dir ='../../vendor/pdf/log.txt'; $accessFilePath=$credentialsPath.'\miniROIAccessToken.json'; if (file_exists($accessFilePath)) { $accessToken = json_decode(file_get_contents($accessFilePath), true); } elseif (isset($_GET['code'])) { $client->authenticate($_GET['code']); $accessToken = $client->getAccessToken(); file_put_contents($credentialsPath.'\miniROIAccessToken.json', json_encode($accessToken)); $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); } if ($accessToken) { $client->setAccessToken($accessToken); if ($client->isAccessTokenExpired()) { unset($accessToken); } } else { $authUrl = $client->createAuthUrl(); } /************************************************ If we're signed in then lets try to upload our file. ************************************************/ try { if ($client->getAccessToken()) { if($pdf_filename!=="") { $file = new Google_Service_Drive_DriveFile(); $file->setTitle($pdf_filename); $file->setDescription('Document'); $file->setMimeType('application/pdf'); $result = $service->files->insert( $file, array( 'data' => file_get_contents($pfdStoragePath), 'mimeType' => 'application/pdf', 'uploadType' => 'multipart' ) ); $pdf_filename=""; unset($_SESSION['pdf_filename']); } } } catch (Exception $ex) { echo "Unexpected issue encountered. Please Try again later."; } ?> <div class="box"> <div class="request"> <a class="login" href="%3C?php%20echo%20$authUrl;%20?%3E">Connect Me!</a> </div> <div class="shortened"> webContentLink; ?> </div> </div>
Что я уже пробовал:
Я пытался изменить http на https
это не позволяет
Это URL-адрес возврата в постановке правильного?
Обратный url-адрес в моей среде разработки правильный, и он отлично работает