将Powerpoint作为文件上传到Google云端硬盘

问题描述 投票:0回答:1

我想将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。

r google-drive-api tidyverse
1个回答
0
投票

尝试使用此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);

});

参考:

© www.soinside.com 2019 - 2024. All rights reserved.