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

如何在Google Apps Script插件中编程获取Script ID?

获取Google Apps Script的Script ID用于OAuth2重定向URL

当然可以!在Google Apps Script里,你完全能通过代码自动获取当前脚本的Script ID,进而生成完整的OAuth2重定向URL,不用让用户手动去找ID再拼接。我给你分享两种实用的实现方式:

1. 直接获取Script ID并生成URL

最直接的方法就是用ScriptApp.getScriptId(),这个API会返回当前脚本的唯一标识符,不管你是写的独立脚本还是绑定在表格/文档里的插件脚本,都能正常工作。

示例代码:

function generateRedirectUrl() {
  // 获取当前脚本的ID
  const scriptId = ScriptApp.getScriptId();
  
  // 替换成你的OAuth2服务要求的重定向URL格式,下面是标准的Apps Script OAuth2回调格式
  const redirectUrl = `https://script.google.com/macros/d/${scriptId}/usercallback`;
  
  return redirectUrl;
}

调用这个函数就能得到完整的重定向URL了。需要注意的是,第一次运行脚本时可能需要授权,因为ScriptApp属于需要权限的服务;另外如果脚本还没保存过,getScriptId()会返回null,所以记得先保存你的脚本。

2. 给用户提供一键复制的UI界面

如果是给普通用户使用的插件,最好直接在Google Workspace(表格/文档)的界面里展示这个URL,再加上一键复制功能,用户体验会更好。

示例代码(以表格插件为例):

// 打开表格时添加自定义菜单
function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu('OAuth2 配置')
    .addItem('获取重定向URL', 'showRedirectUrlDialog')
    .addToUi();
}

// 弹出对话框展示并允许复制URL
function showRedirectUrlDialog() {
  const scriptId = ScriptApp.getScriptId();
  const redirectUrl = `https://script.google.com/macros/d/${scriptId}/usercallback`;
  
  const ui = SpreadsheetApp.getUi();
  // 用HTML构建对话框,带复制按钮
  const dialogContent = `
    <div style="padding:15px;">
      <p>请复制以下URL到你的OAuth2服务注册页面:</p>
      <input type="text" value="${redirectUrl}" style="width:100%; padding:8px; margin:10px 0;" readonly>
      <button onclick="document.querySelector('input').select(); navigator.clipboard.writeText(document.querySelector('input').value); alert('已复制到剪贴板!');" style="padding:8px 16px; background:#4285F4; color:white; border:none; border-radius:4px;">复制到剪贴板</button>
    </div>
  `;
  
  ui.createDialog()
    .setTitle('你的OAuth2重定向URL')
    .setHtml(dialogContent)
    .setWidth(450)
    .setHeight(200)
    .show();
}

用户打开表格后,就能在顶部菜单找到「OAuth2 配置」选项,点击后弹出的对话框里直接复制URL就行,非常方便。如果是文档/幻灯片插件,只需要把SpreadsheetApp.getUi()换成DocumentApp.getUi()或SlidesApp.getUi()即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:31:35