首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何查找Google表单ID

如何查找Google表单ID
EN

Stack Overflow用户
提问于 2020-06-01 17:59:40
回答 2查看 15.4K关注 0票数 4

更新!表单ID在web地址中。

有人善意地向我指出(堆栈溢出之外),可以在网站地址中找到标识表单的表单ID。示例:

https://docs.google.com/forms/d/1y9XMjvZi_wlFC2FN64cdafIyGuM_7UOsn1Q61PXv5MQ/edit

其中粗体文本是表单ID。

原件:

事先道歉,因为我不是一个经验丰富的脚本作者,并可能使用不当的行话。

但是-我在谷歌搜索如何在谷歌表单中找到表单ID元素时,发现了对this question的响应,但是答案是旧的,我的问题也是相似的。我已经尝试搜索“检查元素”数据,但仍然无法识别ID属性。我试过搜索密码,因为:

  • data-item-id="##########",or
  • aria-describedby="i.desc.########## i3"
  • for="entry_XXXXXXX"

还是没有运气。是否有人对寻找表格ID有最新的建议?作为参考,我使用下面的脚本作为我的起点。这是从一个不同的/旧的形式,但类似的功能,所以我希望利用它。我正在试图找到我的表单的ID (如第6-7行中的那样)。

代码语言:javascript
复制
 /**
 * @NotOnlyCurrentDoc
 * Limit OAuth scope to only current spreadsheet rather than all sheets in drive
 */ 

function onSubmit(e) {
  var form = FormApp.openById('1eccBQ7Bs34Z54keGHeR8HDXmiP1UqxMi9vSDWNv6zgs');

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Master');

   
  var data = sheet.getDataRange().getValues();
  //var urlCol = 26;
  var responses = form.getResponses();
  var timestamps = [], urls = [], resultUrls = [];

  for (var i = 0; i < responses.length; i++) {
    timestamps.push(responses[i].getTimestamp().setMilliseconds(0));
    urls.push(responses[i].getEditResponseUrl());
  }
  for (var j = 1; j < data.length; j++) {

    resultUrls.push([data[j][0]?urls[timestamps.indexOf(data[j][0].setMilliseconds(0))]:'']);
  }
  sheet.getRange(2, urlCol = 27, resultUrls.length).setValues(resultUrls);  

  return resultUrls;
};
EN

回答 2

Stack Overflow用户

发布于 2022-02-16 19:18:37

正如问题正文中提到的那样,表单ID可以在Google中找到,但是hte没有提到这个URL是编辑URL,而不是“视图”URL。

表单所有者还可以通过搜索已分配表单URL的data-redirect-url来使用web浏览器开发工具查找表单ID:

代码语言:javascript
复制
data-redirect-url="https://docs.google.com/forms/d/form_id/edit?usp=redirect_edit_m2"

正如OP所提到的,表单ID位于https://docs.google.com/forms/d//edit之间。

除了查看表单URL之外,还可以使用Google脚本检索表单ID。更简单的方法是使用类似于以下内容的有界脚本:

代码语言:javascript
复制
function getActiveFormID(){
  const id = FormApp.getActiveForm().getId();
  console.log(id);
}

另一种方法是使用驱动器服务。下面的示例假设只有一个名为"My“的文件:

代码语言:javascript
复制
function getFormId(){
   const id = DriveApp.searchFiles(`title contains "My Form"`).next().getId();
   console.log(id);
}
票数 4
EN

Stack Overflow用户

发布于 2022-02-16 16:44:51

从打开表单(查看模式,而不是编辑)。

点击F12。

在“元素窗口疼痛”中,展开<body>

扩展<script type = "text/javascript" nonce> == $0

你应该看到:

var FB_PUBLIC_LOAD_DATA与您在其窗体上创建的每个元素及其各自的元素ID。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62138139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档