Загрузить Powerpoint на Google Drive в виде файла - PullRequest
0 голосов
/ 07 января 2020

Я хочу загрузить файлы Powerpoint на диск Google. Когда я делаю это, используя пользовательский интерфейс (нажимая «Загрузить файл» и загружая файл), все работает, как я ожидаю. Однако при использовании Drive API у меня возникают некоторые проблемы с форматированием. Например, затенение (выделение текста) в моих таблицах Powerpoint прозрачно, но когда я загружаю на диск с помощью API, затенение становится белым.

Я попытался обойти это, указав тип MIME как application/vnd.google-apps.file, но когда я получаю ответ, тип MIME отображается как application/vnd.google-apps.presentation

Я использую Google Drive API v3, доступ к которому осуществляется через пакет R googledrive.

1 Ответ

0 голосов
/ 08 января 2020

Попробуйте использовать этот 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);

});

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...