繁体   English   中英

如何将文件上传到 Google drive Shared drive 文件夹?

[英]How to upload files to Google drive Shared drive folder?

实际上这段代码是将文件上传到普通的 Gdrive,但我需要将我的文件上传到共享驱动器,谁能帮助我。 我只需要将我的文件上传到我的共享驱动器。 以下是我当前的代码:-

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

use Google\Client;
use Google\Service\Drive;
# TODO - PHP client currently chokes on fetching start page token
function uploadBasic()
{
    try {
        $client = new Client();
        putenv('GOOGLE_APPLICATION_CREDENTIALS=./credentials.json');
        $client->useApplicationDefaultCredentials();
        $client->addScope(Drive::DRIVE);
        $driveService = new Drive($client);

        $file = getcwd().'/637fdc0994855.mp4';
        $filename = basename($file);
        $mimeType = mime_content_type($file);

        $fileMetadata = new Drive\DriveFile(array(
            'name' => $filename,
            'parents' => ['1VBi8C04HBonM6L4CfL-jHWZ0QoQRyrCL']
        ));
        $content = file_get_contents('637fdc0994855.mp4');
        $file = $driveService->files->create($fileMetadata, array(
            'data' => $content,
            'mimeType' => $mimeType,
            'uploadType' => 'multipart',
            'fields' => 'id'
        ));
        printf("File ID: %s\n", $file->id);
        return $file->id;
    } catch (Exception $e) {
        echo "Error Message: " . $e;
    }
}
uploadBasic();

为了将文件上传到共享驱动器,请修改如下。

从:

$file = $driveService->files->create($fileMetadata, array(
    'data' => $content,
    'mimeType' => $mimeType,
    'uploadType' => 'multipart',
    'fields' => 'id'
));

到:

$file = $driveService->files->create($fileMetadata, array(
    'data' => $content,
    'mimeType' => $mimeType,
    'uploadType' => 'multipart',
    'fields' => 'id',
    'supportsAllDrives' => true // <--- Added
));

笔记:

  • 在这种情况下,您的客户端没有写入共享驱动器的权限,就会出现错误。 请注意这一点。

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM