You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Google Apps Script向Google Sheet自动插入本人姓名、电话等联系方式

实现步骤

1. 前置配置:添加People API服务

打开脚本编辑器后,点击左侧菜单栏「服务」旁边的「+」号,在弹出的列表中找到「People API」,选中后点击「添加」即可。

2. 替换原有代码

把原有代码全部替换为下方的调整后代码:

// 给表格添加自定义菜单
function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('添加我到工作组名单')
  .addItem('添加我的信息', 'AddMe')
  .addToUi();
}

function AddMe() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var dataSheet = ss.getSheetByName("Data");
  var activeUserEmail = Session.getActiveUser().getEmail();

  try {
    // 调用People API获取当前用户的姓名、手机号信息
    var person = People.People.get('people/me', {
      personFields: 'names,phoneNumbers'
    });

    // 提取姓名、手机号
    var userName = person.names[0].displayName;
    var userPhone = person.phoneNumbers ? person.phoneNumbers[0].value : '未登记手机号';

    // ========== 固定写入第2行(和原代码逻辑一致,不需要可以注释) ==========
    dataSheet.getRange('A2').setValue(activeUserEmail); // A列存邮箱
    dataSheet.getRange('B2').setValue(userName); // B列存姓名
    dataSheet.getRange('C2').setValue(userPhone); // C列存手机号

    // ========== 自动追加到最后一行(需要用的话取消注释,注释上面的固定行逻辑) ==========
    // var lastRow = dataSheet.getLastRow() + 1;
    // dataSheet.getRange(lastRow, 1).setValue(activeUserEmail);
    // dataSheet.getRange(lastRow, 2).setValue(userName);
    // dataSheet.getRange(lastRow, 3).setValue(userPhone);

    SpreadsheetApp.getUi().alert('已成功添加你的信息到工作组名单!');
  } catch (e) {
    SpreadsheetApp.getUi().alert('获取信息失败:' + e.message);
  }
}

3. 自定义调整说明

  • 如需修改字段存储位置,直接调整getRange的单元格坐标即可,比如要把手机号放到D列,把C2改成D2即可
  • 原代码逻辑是固定覆盖第2行内容,如果做名单需要每次新增一行,直接注释掉固定写入的3行代码,取消下方自动追加逻辑的注释即可
  • 如果域内部分员工没有登记手机号,代码会自动填充未登记手机号,不会触发报错

内容的提问来源于stack exchange,提问作者Femke van der Zeijden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:12:03