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

如何用Google Apps Script通过Firebase Dynamic Links生成Google Drive文件短链接

利用Google Apps Script + Firebase Dynamic Links生成Google Drive文件短链接

没问题,这就给你一套完整的实操方案——既然旧的UrlShortner用不了了,咱们用Firebase动态链接来替代,全程用Google Apps Script搞定,步骤清晰好上手:

前置准备(你已经完成了一部分,补完剩下的)

  • 先去Firebase控制台给你的项目配置动态链接域名:进入「动态链接」页面,要么用Firebase默认的xxx.page.link域名,要么绑定自己的自定义域名,记下来这个域名后面要用
  • 从Google Cloud Console拿你的Firebase项目Web API密钥:找到你的项目 → 「API和服务」→ 「凭据」→ 复制那个「API密钥」(别随便泄露哦)
  • 确保你的Drive文件是公开可访问的:右键文件→「共享」,选「知道链接的任何人都可以查看」,不然生成的短链接别人打不开

步骤1:给Apps Script加OAuth2库

调用Firebase API需要授权,用现成的OAuth2库省事儿:

  1. 打开Google Apps Script新建一个脚本项目
  2. 点左侧「库」图标,输入库ID 1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF,选最新版本,点「添加」

步骤2:写核心代码(直接抄改就行)

把下面代码里的占位符换成你自己的信息:

function generateDriveShortLink(driveFileId) {
  // 第一步:拿到Drive文件的公开链接
  const driveFile = DriveApp.getFileById(driveFileId);
  const publicLink = driveFile.getUrl();
  
  // 第二步:配置Firebase动态链接的参数
  const apiKey = "替换成你的Firebase Web API密钥";
  const dynamicLinkDomain = "替换成你的动态链接域名"; // 比如xxx.page.link
  
  const payload = {
    dynamicLinkInfo: {
      domainUriPrefix: `https://${dynamicLinkDomain}`,
      link: publicLink,
      // 下面是可选配置:指定移动端打开Drive app,不需要可以删掉
      androidInfo: {
        androidPackageName: "com.google.android.apps.docs"
      },
      iosInfo: {
        iosBundleId: "com.google.Drive"
      }
    },
    suffix: {
      option: "SHORT" // 生成短后缀,要是想更安全就换成"UNGUESSABLE"
    }
  };
  
  // 第三步:调用Firebase API生成短链接
  const apiUrl = `https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=${apiKey}`;
  const requestOptions = {
    method: "POST",
    contentType: "application/json",
    payload: JSON.stringify(payload)
  };
  
  try {
    const response = UrlFetchApp.fetch(apiUrl, requestOptions);
    const result = JSON.parse(response.getContentText());
    return result.shortLink; // 返回生成的短链接
  } catch (error) {
    console.error("生成失败:", error.toString());
    return null;
  }
}

// 测试用的函数:把这里的文件ID换成你要测试的Drive文件ID
function testShortLinkGeneration() {
  const targetFileId = "替换成你的Drive文件ID";
  const shortLink = generateDriveShortLink(targetFileId);
  if (shortLink) {
    console.log("搞定!短链接是:", shortLink);
  } else {
    console.log("哎呀,生成失败了,看看日志找原因~");
  }
}

步骤3:授权运行

  1. 点「运行」,选testShortLinkGeneration
  2. 第一次运行会跳授权页面,跟着提示走就行(要允许脚本访问你的Drive和调用外部API)
  3. 运行成功后,去「查看」→「日志」里就能看到生成的短链接啦

一些注意事项

  • 要是短链接打不开,先检查Drive文件的共享权限是不是真的设成公开了
  • 别把API密钥硬写在代码里,安全起见可以存在「项目设置」→「脚本属性」里,用PropertiesService.getScriptProperties().getProperty("API_KEY")来取
  • Firebase动态链接有免费额度,超出了要付费,具体看Firebase定价就行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:15:31