You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将文件上传至Google Drive共享驱动器文件夹?

上传文件到Google共享驱动器的代码修改方案

要把文件上传到共享驱动器,需针对原代码做关键修改,同时确保服务账号权限配置正确:

前置准备

  • 找到credentials.json里的服务账号邮箱,将其添加到目标共享驱动器中,授予编辑权限,否则会触发权限不足错误。
  • 获取共享驱动器ID:打开共享驱动器首页,地址栏drive/folders/后的字符串即为共享驱动器ID(注意不是文件夹ID)。

核心修改点

  1. 在文件元数据中加入共享驱动器ID(driveId字段)
  2. 在文件创建请求里添加supportsAllDrives => true参数(允许API操作共享驱动器资源)
  3. 确保parents字段是共享驱动器内目标文件夹的ID(若直接上传到共享驱动器根目录,parents可设为共享驱动器ID)

修改后的完整代码

require __DIR__ . '/vendor/autoload.php';

use Google\Client;
use Google\Service\Drive;

function uploadToSharedDrive()
{
    try {
        $client = new Client();
        putenv('GOOGLE_APPLICATION_CREDENTIALS=./credentials.json');
        $client->useApplicationDefaultCredentials();
        $client->addScope(Drive::DRIVE);
        $driveService = new Drive($client);

        // 配置文件与共享驱动器信息
        $filePath = getcwd().'/637fdc0994855.mp4';
        $fileName = basename($filePath);
        $mimeType = mime_content_type($filePath);
        $sharedDriveId = '你的共享驱动器ID'; // 替换为实际共享驱动器ID
        $targetFolderId = '1VBi8C04HBonM6L4CfL-jHWZ0QoQRyrCL'; // 共享驱动器内的目标文件夹ID

        $fileMetadata = new Drive\DriveFile([
            'name' => $fileName,
            'driveId' => $sharedDriveId,
            'parents' => [$targetFolderId]
        ]);

        $content = file_get_contents($filePath);
        $file = $driveService->files->create($fileMetadata, [
            'data' => $content,
            'mimeType' => $mimeType,
            'uploadType' => 'multipart',
            'fields' => 'id',
            'supportsAllDrives' => true // 必须开启此参数以支持共享驱动器操作
        ]);

        printf("上传成功,文件ID: %s\n", $file->id);
        return $file->id;
    } catch (Exception $e) {
        echo "错误信息: " . $e->getMessage();
    }
}

uploadToSharedDrive();

常见问题排查

  • 权限不足:检查服务账号是否已添加到共享驱动器,且权限为编辑
  • 资源找不到:确认sharedDriveId和targetFolderId是否正确,且文件夹确实存在于该共享驱动器内
  • 大文件上传失败:建议改用分块上传(resumable upload),避免内存溢出

内容的提问来源于stack exchange,提问作者jasonzs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:50:22