Как определить мастеров в новой презентации с помощью Google Slides API?

Я создаю приложение для Android, которое программно создает презентацию. Я попытался использовать обе библиотеки Java, а также API интерактивных интерактивных слайдов для создания новой презентации и установки мастер-слайдов. Здесь я начинаю с простого - все, что я хочу сделать, - это сделать слайд-мастер с синим фоном. Вот мой вызов API для создания:

{
  "title": "test",
  "masters": [
    {
      "pageProperties": {
        "pageBackgroundFill": {
          "solidFill": {
            "color": {
              "rgbColor": {
                "blue": 1.0,
                "green": 0.5,
                "red": 1.0
              }
            }
          }
        }
      },
      "pageType": "MASTER",
      "masterProperties": {
        "displayName": "mymaster"
      },
      "objectId": "mymaster1"
    }
  ]
}

Результат 200 ок. Я смотрю на данные в результате, и мой мастер не там. Мастер по умолчанию там однако. Это сводит с ума - я искал дни на это. Я, должно быть, пропускаю некоторые обязательные поля - но это плохо задокументировано Google. Я был бы очень признателен за руководство по этому вопросу.

Вот мой код Java:

// Build master -
        List<Page> master = new ArrayList<>();
        master.add(new Page().setPageProperties(new PageProperties().setPageBackgroundFill(new PageBackgroundFill()
                .setSolidFill(new SolidFill().setColor(new OpaqueColor()
                .setRgbColor(new RgbColor().setRed(1.0f).setGreen(0.5f).setBlue(1.0f))))))
                                        .setPageType("MASTER").setObjectId("mymaster1").setMasterProperties(new MasterProperties().setDisplayName("mymaster")));

        // Create presentation
        Presentation presentation = new Presentation()
                .setTitle("test").setMasters(master);
        presentation = mSlidesService.presentations().create(presentation)
                .setFields("presentationId")
                .execute();

1 ответ

Официальная документация вводит в заблуждение, показывая все поля в теле запроса.

Он говорит:

Если указан идентификатор презентации, он используется как идентификатор новой презентации. В противном случае создается новый идентификатор. Другие поля в запросе , включая любой предоставленный контент, игнорируются . Возвращает созданную презентацию.

Итак, только title и presentationIdиспользуются. Использовать batchUpdate() сразу после создания презентации.

https://developers.google.com/slides/api/reference/rest/v1/presentations/create

Другие вопросы по тегам