我在搜索中搜索但我找不到解决方案。请帮忙。以下是代码。
<?php
require_once '../../vendor/autoload.php';
define('APPLICATION_NAME', 'Drive API PHP Quickstart');
define('CREDENTIALS_PATH', '~/.credentials/drive-php-quickstart.json');
define('CLIENT_SECRET_PATH', __DIR__ . '/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->setScopes(array('https://www.googleapis.com/auth/drive', 'https://www.googleapis.com/auth/drive.apps.readonly', 'https://www.googleapis.com/auth/drive'));
$client->setAuthConfig(CLIENT_SECRET_PATH);
$client->setAccessType('offline');
$service = new Google_Service_Drive($client);
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => 'Test Folder',
'mimeType' => 'application/vnd.google-apps.folder'));
$file = $service->files->create($fileMetadata, array(
'fields' => 'id'));
printf("Folder ID: %s\n", $file->id);die();
?>
我可以列出驱动器中的所有文件但我无法创建文件夹。我错过了什么?以下是错误。有人可以帮我解决我的这个问题。提前谢谢。
PHP Fatal error: Uncaught Google_Service_Exception: {
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
答案 0 :(得分:0)
我希望这可以帮助您解决问题,我在这里发现了您的错误: https://developers.google.com/drive/v3/web/handle-errors
为了帮助您导航到解决方案,以下是片段,希望这会以某种方式为您提供帮助:
401:凭据无效 授权标头无效。您使用的访问令牌已过期或无效。
{
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization",
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
建议的操作:使用长期刷新令牌刷新访问令牌。如果此操作失败,请引导用户完成OAuth流程,如使用Google云端硬盘授权您的应用中所述。
如果您想了解有关使用Google驱动器授权您的应用的更多信息,请参阅以下网站: https://developers.google.com/drive/v3/web/about-auth
希望您能够找到所提供资源的解决方案。