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

如何完成Telegram机器人与Google Apps Script的对接?附代码片段

嘿,看你已经在搞Telegram机器人对接Google Sheets的活儿了,我帮你把现有代码规整成清晰的格式,还补全了没写完的setWebhook函数实现,方便你继续推进:

核心配置与代码实现

var token = ""; // FILL IN YOUR OWN TOKEN
var telegramUrl = "https://api.telegram.org/bot" + token;
var webAppUrl = ""; // FILL IN YOUR GOOGLE WEB APP ADDRESS
var ssId = ""; // FILL IN THE ID OF YOUR SPREADSHEET

// 验证机器人Token有效性
function getMe() {
  var url = telegramUrl + "/getMe";
  var response = UrlFetchApp.fetch(url);
  Logger.log(response.getContentText());
}

// 设置Telegram Webhook(补全实现)
function setWebhook() {
  var url = telegramUrl + "/setWebhook?url=" + encodeURIComponent(webAppUrl);
  var response = UrlFetchApp.fetch(url);
  Logger.log(response.getContentText());
}

// 接收Telegram消息的Webhook入口(常用补充)
function doPost(e) {
  var data = JSON.parse(e.postData.contents);
  var chatId = data.message.chat.id;
  var messageText = data.message.text;
  
  // 这里可以添加消息处理逻辑,比如写入Google Sheets
  var sheet = SpreadsheetApp.openById(ssId).getActiveSheet();
  sheet.appendRow([new Date(), chatId, messageText]);
  
  // 可选:回复用户消息
  sendMessage(chatId, "消息已记录!");
}

// 封装发送消息的函数(常用补充)
function sendMessage(chatId, text) {
  var url = telegramUrl + "/sendMessage?chat_id=" + chatId + "&text=" + encodeURIComponent(text);
  UrlFetchApp.fetch(url);
}

几个关键提醒

  • 先把token、webAppUrl、ssId这三个空字段替换成你自己的信息:
    • token是BotFather给你的机器人令牌
    • webAppUrl是你部署Google Apps Script后得到的Web应用地址
    • ssId是Google Sheets文档URL里的那段长字符串
  • 部署Web App的时候,一定要把访问权限设为“任何人,甚至匿名”,不然Telegram的webhook请求会被Google拦截
  • 先运行getMe函数,去查看日志确认机器人能正常连通Telegram API
  • 设置webhook后,可以发一条测试消息给机器人,看看Google Sheets里有没有新增记录

内容的提问来源于stack exchange,提问作者honeyhill

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:17:58