是否可以使用新的Google docs API插入新表格?

时间:2019-03-04 17:47:59

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

我对指南和文档的阅读建议使google docs api v1启用以下功能

  • 读取表格单元格
  • 插入表格单元格
  • 插入/删除表行

..但是还无法通过API插入新表吗?

对吗? (鉴于我收集到的信息,可以使用AppsScript创建一个新表。)

2 个答案:

答案 0 :(得分:3)

截至2019年3月4日,目前似乎不可能。

如果我们创建一个空白文档,我们将获得如下所示的正文:

public async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default(CancellationToken))
    {
        if (turnContext.Activity.Type == ActivityTypes.Message) {

            // Check for selected flag
            if (turnContext.Activity.Text.Split(' ')[0] == "selected:") {
                await turnContext.SendActivityAsync($"You {turnContext.Activity.Text}");
            } else {
                var reply = turnContext.Activity.CreateReply();

                reply.Attachments = new List<Attachment>();
                reply.Attachments.Add(GetHeroCard().ToAttachment());

                await turnContext.SendActivityAsync(reply, cancellationToken);
            }
        }
    }

    private static HeroCard GetHeroCard()
    {
        var buttons = new List<CardAction>();
        buttons.Add(new CardAction(ActionTypes.PostBack, "operating group", value: "selected: operating group"));
        buttons.Add(new CardAction(ActionTypes.PostBack, "geo", value: "selected: geo"));
        buttons.Add(new CardAction(ActionTypes.PostBack, "technology", value: "selected: technology"));
        buttons.Add(new CardAction(ActionTypes.PostBack, "themes", value: "selected: themes"));


        var heroCard = new HeroCard
        {
            Title = "BotFramework Hero Card",
            Subtitle = "Microsoft Bot Framework",
            Images = new List<CardImage> {},
            Buttons = buttons,
        };

        return heroCard;
    }  
}

人们可能会猜想,我们可以通过InsertTableRow请求通过插入表格行来创建表格。

如果我们发出相关请求:

body: {
  content: [
    {
      endIndex: 1,
      sectionBreak: {... }
    },
    {
      startIndex: 1,
      paragraph: {...},
      endIndex: 2
    }
  ]
}

对于索引值0(文档开头),1(分节符之后)和2(文档正文末尾),我们收到HTTP错误。

但是,一旦我们通过UI或Apps Script服务创建了表,则指定该索引会导致添加适当的表行。因此,目前看来我们无法使用Google Docs REST API创建表。

答案 1 :(得分:1)

正如上文在Tanaike的评论中所述,截至2019年6月14日,这是可能的。 在此处查看更新的文档:

https://developers.google.com/docs/api/reference/rest/v1/documents/request#inserttablerequest