谷歌驱动器sdk转换上传文件

时间:2017-10-18 12:30:36

标签: php laravel google-drive-api google-docs

我试图在PHP网络应用程序中将上传的.doc转换为Google Doc格式,以便我可以再以各种其他格式将其导出。

我有这个......

$result = $service->files->create($file, array(
    'data' => $data,
    'mimeType' => 'application/msword',
    'uploadType' => 'multipart'

));

但遗憾的是,新API(v3)并不支持' conver = true'参数...和文档说"在资源体中提供目标mimeType"

如果我将mimeType更改为=> 'application/vnd.google-apps.document',我会收到400错误... Invalid MIME type provided for the uploaded content

我错过了什么?

提前致谢

1 个答案:

答案 0 :(得分:0)

如果它是error 400,则可能意味着未提供必填字段或参数,提供的值无效,或提供的字段组合无效。

检查您是否将文件转换为当前支持的转化。请参阅Importing to Google Docs types了解详情。

尝试使用此示例代码:

$fileMetadata = new Google_Service_Drive_DriveFile(array(
    'name' => 'My Report',
    'mimeType' => 'application/vnd.google-apps.spreadsheet'));
$content = file_get_contents('files/report.csv');
$file = $driveService->files->create($fileMetadata, array(
    'data' => $content,
    'mimeType' => 'text/csv',
    'uploadType' => 'multipart',
    'fields' => 'id'));
printf("File ID: %s\n", $file->id);