首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Google表单提交上获取IP地址

在Google表单提交上获取IP地址
EN

Stack Overflow用户
提问于 2020-09-11 10:31:47
回答 1查看 2.4K关注 0票数 0

我正在寻找一个脚本来捕获提交表单的人的IP地址。我最终在响应表中写下了这段代码:

代码语言:javascript
复制
/*
 * Global Variables
 */
// Form
var formId = 'FromID';
// Sheet
var sheetName = 'Form Responses 1';
var columnName = 'IP Address';

// Responses starting row
var startRow = 2;

function UploadIPAddress_FromSheet(){
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues(); 
    var columnIndex = headers[0].indexOf(columnName);
    var data = sheet.getDataRange().getValues();

    var form = FormApp.openById(formId);

    for(var i = startRow-1; i < data.length; i++) {
        if(data[i][0] && !data[i][columnIndex]) {
          
            var ip = JSON.parse(UrlFetchApp.fetch('https://api6.ipify.org?format=json')).ip;
  
             sheet.getRange(i+1, columnIndex+1).setValue(ip);
        }
    }
}

当我手动运行脚本时,它会用我的IP地址填充最后一个响应行的"IP地址“列,这是预期的。但是,当我提交带有触发器的表单以运行脚本时,它执行相同的操作,但使用的是Google服务器IP地址。

你知道如何通过表单提交来实现第一个输出吗?

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2020-09-11 10:58:01

不幸的是,这是不可能的。你必须寻找替代的表单服务。

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

https://stackoverflow.com/questions/63840028

复制
相关文章

相似问题

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