在给定视图 URL 的情况下检索 Google 表单编辑 URL

Retrieve Google Form edit URL given the view URL

我想使用 Apps 脚本 API 从 Google 表单获取响应数据。根据文档,必须使用以下命令从指定的 URL.

检索表单
// Open a form by URL.
var form = FormApp.openByUrl(
    'https://docs.google.com/forms/d/1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3/edit'
    );

唯一的问题是我没有编辑 URL,只有 public 查看 URL。看起来像 https://docs.google.com/form/d/abcdefghijklmnopqrstuvwxyz_slightly_different_id/viewform.

我是表单的所有者,可以通过导航到 public URL 并单击编辑按钮轻松检索编辑 URL,但需要一个自动化解决方案,可以最好通过 Apps 脚本完成 API.

那么,如何在给定仅查看 URL?

如果您的最终目标是在不访问浏览器界面的情况下获取表单的编辑 URL,则可以在云端硬盘上使用一种解决方法。您只需要在 DriveApp 中开发一种方法,打开您保存表单的文件夹,然后与抓取所有 URL 的结果进行交互。请参阅下面的示例,返回所有编辑 URL 的数组。

function getFormEditURLs() {
  var forms = DriveApp.getFolderById('{ YOUR FOLDER HERE }')
    .getFilesByType(MimeType.GOOGLE_FORMS);
  var formsEditURLs = [];
  while (forms.hasNext()) {
    var form = forms.next();
    formsEditURLs.push(FormApp.openByUrl(form.getUrl()).getEditUrl());
  }
  return formsEditURLs;
}