在谷歌驱动器中创建文件夹时出错

时间:2018-03-09 08:25:52

标签: php google-drive-api google-api-php-client

我在搜索中搜索但我找不到解决方案。请帮忙。以下是代码。

    <?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"
 }
}

1 个答案:

答案 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

希望您能够找到所提供资源的解决方案。