android - 如何使用 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 OK。我查看结果中的数据,我的主人不在。然而,默认的主人在那里。这太令人抓狂了——我已经为此寻找了好几天。我一定遗漏了一些必填字段——但这并没有被谷歌很好地记录下来。我非常感谢对此的一些指导。
这是我的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();
解决方案
官方文档具有误导性,显示了请求正文中的所有字段。
它说:
如果提供了presentationId,则将其用作新演示文稿的ID。否则,将生成一个新 ID。请求中的其他字段,包括任何提供的内容,都将被忽略。返回创建的演示文稿。
所以,只有 thetitle
和 thepresentationId
被使用。batchUpdate()
在创建演示文稿后立即使用。
https://developers.google.com/slides/api/reference/rest/v1/presentations/create
推荐阅读
- r - 使用 raster 和 sp 库在 R 中将坐标的 data.frame 从 Lambert93 重新投影到 WGS83
- google-api - GKE 集群 API 中区域和位置端点之间的区别
- python - Django send_mail 引发错误“‘ascii’编解码器无法编码字符”
- javascript - 出现错误:`ReferenceError: Cannot access 'imported const' before initialization` in react
- c++ - 如何获取向量c ++的列表
- html - Html 基础 - 在同一行与不同行编写的控件
- lua - Lua 回调的返回值
- typescript - TypeScript 类中的 # 符号是什么意思?
- c++ - 比较 std::ostream 是否为 std::cout ("no match for 'operator=='")
- sql - 在 PostgreSQL 中,如何通过字段的分组来查询计算结果?