我想将Powerpoint文件上传到Google驱动器。当我使用UI进行此操作时(单击“上传文件”并上传文件),一切都会按预期进行。但是,当我使用Drive API时,会遇到一些格式问题。例如,Powerpoint表中的阴影(文本高亮显示)是透明的,但是当我使用API上传到云端硬盘时,阴影变成白色。
我试图通过将MIME类型指定为application/vnd.google-apps.file
来解决此问题,但是当我收到响应时,MIME类型显示为application/vnd.google-apps.presentation
我正在使用通过R程序包googledrive
访问的Google Drive API v3。
尝试使用此mimeType:application/vnd.openxmlformats-officedocument.presentationml.presentation包含 :application/vnd.google-apps.file
这里是用NodeJS
完成的示例,请尝试让我知道它是否对您有效。
以防万一,尝试其他mimeTypes(URL在“引用”列表中提供,向下滚动)
var fileMetadata = {
'name': '___Your File Name Here___',
'mimeType': 'application/vnd.google-apps.file'
};
var media = {
mimeType: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
body: fs.createReadStream('___Your File Name Here___.pptx')
};
function uploadFile(auth){
const drive = google.drive({version: 'v3', auth});
drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, (err, res) => {
if (err) return console.log('The API returned an error: ' + err);
})
}
// RUN script
fs.readFile('credentials.json', (err, content) => {
if (err) {
console.log('Error loading client secret file: ' + err);
return;
}
authorize(JSON.parse(content), uploadFile);
});
参考: