Возможно ли дублировать определенный слайд с помощью Google Slide api?

#node.js #google-slides-api #google-slides

#node.js #google-slides-api #google-слайды

Вопрос:

Google Slides Api (узел JS / JavaScript) — можно ли создать дубликат определенного слайда, например, предполагая, что слайд № 5 нужно дублировать 3 раза?

Ответ №1:

Я считаю, что ваша цель и ваша текущая ситуация заключаются в следующем.

  • Вы хотите скопировать конкретный слайд в Google Slides несколько раз.
    • В вашем вопросе вы хотите скопировать слайд № 5 3 раза.
  • Вы хотите добиться этого с помощью googleapis для Node.js .
  • Вы уже могли получать и устанавливать значения для Google Slides с помощью Slides API.

В этом случае я подумал, что можно использовать метод batchUpdate в Slides API.

Пример сценария:

В этом примере сценария, пожалуйста, используйте auth извлеченный из вашего сценария. Если вы хотите увидеть сценарий авторизации для Node.js , вы можете увидеть Быстрый старт для Node.js . Ref В этом случае, пожалуйста, используйте область действия https://www.googleapis.com/auth/presentations .

 const presentationId = "###"; // Please set the presentation ID (Google Slides ID).
const pageNumber = 5; // Please set the page number. In your question, it's 5.
const numberOfCopy = 3; // Please set the number of copy. In your question, it's 3.

const slides = google.slides({ version: "v1", auth: auth });
slides.presentations.get(
  {
    presentationId: presentationId,
    fields: "slides(objectId)",
  },
  (err, res) => {
    if (err) {
      console.log(err);
      return;
    }
    const pageObjectId = res.data.slides[pageNumber - 1].objectId;
    const requests = [];
    for (let i = 0; i < numberOfCopy; i  ) {
      requests.push({ duplicateObject: { objectId: pageObjectId } });
    }
    slides.presentations.batchUpdate(
      {
        presentationId: presentationId,
        resource: { requests: requests },
      },
      (err, res) => {
        if (err) {
          console.log(err);
          return;
        }
        console.log(res.data);
      }
    );
  }
);
 
  • При запуске вышеупомянутого скрипта идентификатор объекта страницы слайда № 5 извлекается из Google Slides с помощью метода get и создает тело запроса для копирования 3 раза и запрашивает его с помощью метода batchUpdate .

Примечание:

  • В этом примере сценария предполагается, что auth можно использовать данные, полученные из вашего скрипта авторизации. Пожалуйста, будьте осторожны с этим.

Ссылки:

Комментарии:

1. @developer55555 Спасибо за ответ. Я рад, что ваша проблема была решена. И вам спасибо.