Я пытаюсь интегрировать Google Drive в наш веб-сайт. Мы хотели бы скопировать файл с диска на наш сервер, вы знаете, что-то вроде: «Отправить в мои файлы». Когда я пытаюсь интегрироваться, я сталкиваюсь со следующей ошибкой
Мой проверенный код:
require_once(ROOT . DS . 'vendor' . DS . 'google-api-php-client' . DS . 'vendor' . DS . 'autoload.php');
define('APPLICATION_NAME', 'Drive API PHP Quickstart');
define('CREDENTIALS_PATH', ROOT . DS . 'vendor' . DS. 'google-api-php-client' . DS .'vendor' . DS . 'drive-php-quickstart.json');
define('CLIENT_SECRET_PATH', ROOT . DS . 'vendor' . DS. 'google-api-php-client' . DS . 'vendor' . DS . 'client_secret.json');
define('SCOPES', implode(' ', array(\Google_Service_Drive::DRIVE_METADATA_READONLY)));$client = new \Google_Client();
$client->setApplicationName(APPLICATION_NAME);
$client->setScopes(SCOPES);
$client->setAuthConfig(CLIENT_SECRET_PATH);
$client->setAccessType('offline');
// Load previously authorized credentials from a file.
$credentialsPath = $this->expandHomeDirectory(CREDENTIALS_PATH);
if (file_exists($credentialsPath)) {
$accessToken = json_decode(file_get_contents($credentialsPath), true);
} else {
// Request authorization from the user.
$authUrl = $client->createAuthUrl();
printf("Open the following link in your browser:\n%s\n", $authUrl);
print 'Enter verification code: ';
$authCode = trim(fgets(STDIN));
// Exchange authorization code for an access token.
$accessToken = $client->fetchAccessTokenWithAuthCode($authCode);
// Store the credentials to disk.
if (!file_exists(dirname($credentialsPath))) {
mkdir(dirname($credentialsPath), 0700, true);
}
file_put_contents($credentialsPath, json_encode($accessToken));
printf("Credentials saved to %s\n", $credentialsPath);
}
$client->setAccessToken($accessToken);// Refresh the token if it's expired.
if ($client->isAccessTokenExpired()) {
$client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
file_put_contents($credentialsPath, json_encode($client->getAccessToken()));
}
Вы ошибка Notice: Use of undefined constant STDIN
означает, что искал константу под названием STDIN. Когда он не находит такой константы, PHP интерпретирует ее как строку. Очевидно, что это может легко сломаться, если вы определите такую константу позже. Заявлено Вот что вы должны заключить в кавычки свой ключ массива, чтобы избежать такой ошибки. Сообщение об ошибке происходит из-за неудачного факта, что PHP неявно объявит неизвестный токен как константную строку с тем же именем. Вы также можете проверить по этой ссылке: Скопируйте файл с Google Drive на мой собственный сервер
Других решений пока нет …