有没有办法获取用户当前所在的幻灯片? Google幻灯片和Apps脚本

时间:2019-01-11 00:53:19

标签: google-apps-script google-slides-api google-slides

我正在尝试在Google幻灯片中创建游戏,并且需要一个系统,如果用户在某张幻灯片上,则会更改一个变量。这怎么可能?

我已经尝试使用 SlidesApp.getActivePresentation()。getSlides() SlidesApp.getActivePresentation()。getSelection()。getCurrentPage();

var currentPresentationSlide = SlidesApp.getActivePresentation().getSlides()[3];
var currentPage = SlidesApp.getActivePresentation().getSelection().getCurrentPage();

var selection = SlidesApp.getActivePresentation().getSelection();


if (currentPage = currentPresentationSlide) {
  var shape = currentPresentationSlide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 100, 200, 300, 60);
  var textRange = shape.getText();
  textRange.setText('demo');
}

我希望幻灯片将文本框(演示)放置在幻灯片上(本例中为幻灯片3),甚至不将文本框放置在任何地方。

2 个答案:

答案 0 :(得分:1)

  • 用户正在通过演示模式进行演示。
  • 在上述情况下,您要检索用户停留的当前页面。

我了解您这样的问题。不幸的是,在当前阶段,由于以下原因无法实现。

  1. 还没有任何方法可以确认不是所有者的用户是否停留在演示模式下。
  2. 还没有演示模式的事件触发器。
    • 您可以在here上查看触发器。
  3. 运行脚本时,要打开的页面将成为当前页面。不是其他用户的页面。运行脚本时,将检索您正在打开的页面。

答案 1 :(得分:0)

要检索用户正在查看的当前 Page,请使用 getSelection()getCurrentPage() 方法,如下所示:

var currentPage = SlidesApp.getActivePresentation().getSelection().getCurrentPage();

注意:这是 Google Apps Script 文档的摘录,您现在可以在 Google 中轻松找到。这篇 SO post 在 Google 中也有很好的参考,但似乎令人困惑。考虑查看 Google Apps Script documentation 以了解有关您可以做什么的更多信息。

然后,当您检查用户是否在特定幻灯片上时,请按如下方式进行条件检查:

var specialSlide = SlidesApp.getActivePresentation().getSlides()[3];
var currentPage = SlidesApp.getActivePresentation().getSelection().getCurrentPage();

if (currentPage.getObectId() === specialSlide.getObjectId()) {
  // User is on a particular page
}