如何用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库省事儿:
- 打开Google Apps Script新建一个脚本项目
- 点左侧「库」图标,输入库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:授权运行
- 点「运行」,选
testShortLinkGeneration - 第一次运行会跳授权页面,跟着提示走就行(要允许脚本访问你的Drive和调用外部API)
- 运行成功后,去「查看」→「日志」里就能看到生成的短链接啦
一些注意事项
- 要是短链接打不开,先检查Drive文件的共享权限是不是真的设成公开了
- 别把API密钥硬写在代码里,安全起见可以存在「项目设置」→「脚本属性」里,用
PropertiesService.getScriptProperties().getProperty("API_KEY")来取 - Firebase动态链接有免费额度,超出了要付费,具体看Firebase定价就行
内容的提问来源于stack exchange,提问作者Elango
相关产品推荐
相关产品推荐

