Войдите в систему с учетной записью Google и получите всю информацию о профиле, используя Google API
Поскольку я пытаюсь войти в систему с учетной записью Google и получить информацию о том, что вошли в информацию, но я получаю ошибку.
Это мой код,
error_reporting(E_ALL);
ini_set('display_errors',1);
require_once __DIR__.'/vendor/autoload.php';
session_start();
$client = new Google_Client();
$client->setAuthConfig('client_secret_gmail.json');
$client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY);
$_SESSION['access_token'];
echo "<pre>";
print_r($_SESSION['access_token']);
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
$client->setAccessToken($_SESSION['access_token']);
$drive = new Google_Service_Drive($client);
$files = $drive->files->listFiles(array())->getItems();
echo json_encode($files);
} else {
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/api/oauth2callback.php';
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}
и ответ таков:
Fatal error: Uncaught Google_Service_Exception: {
"error": {
"errors": [
{
"domain": "global",
"reason": "insufficientPermissions",
"message": "Insufficient Permission"
}
],
"code": 403,
"message": "Insufficient Permission"
}
}
1 ответ
Вы запрашиваете разрешение METADATA. вам нужно DRIVE_READONLY, а не DRIVE_METADATA_READONLY
$client->addScope(Google_Service_Drive::DRIVE_READONLY );
К вашему сведению Google официальная документация