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

Firebase Dynamic Links API如何更新社交图片并保留原短链接URL

问题

我当前使用如下代码创建Firebase短链接,功能运行正常。但当我需要更新社交图片时,若传入仅社交图片URL与原参数不同的longDynamicLink,接口会生成全新的短链接。这意味着所有此前分发的旧短链接都需要替换为新链接,而部分旧短链接已经印刷在二维码上,无法完成替换。

请问如何通过API调用保留原有短链接?

备注:经测试,在Firebase控制台中执行相同操作时,修改社交图片后可以保持原短链接不变,实际上控制台支持修改任意参数后仍保留对应短链接。

原实现代码:

const options = { 
    method: 'POST',
    uri: `https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=${firebaseProjectApiKey}`,
    headers: {
      'Content-Type': 'application/json'
    },
    body: {
      "longDynamicLink": dynamicLinkUrl,
      "suffix": {
        "option": "SHORT"
      }
    },
    json: true // Automatically stringifies the body to JSON
  };

回答

你当前调用的/v1/shortLinks POST接口是短链创建接口,默认行为就是为每一次合法请求生成全新的短链后缀,不会自动匹配已有相似参数的短链,这是你每次调用都拿到新短链的核心原因。

控制台修改参数后能保留原短链,本质是调用了短链更新接口而非创建接口,通过API实现同样效果的操作步骤如下:

  • 提取原有短链的后缀字段:比如你的短链为https://your-project.page.link/aBc123,后缀就是aBc123
  • 将请求方法从POST改为PATCH,请求地址替换为对应短链的资源路径:https://firebasedynamiclinks.googleapis.com/v1/shortLinks/{你提取的短链后缀}?key=${firebaseProjectApiKey}
  • 移除请求体中的suffix字段,仅传入更新了社交图片参数的longDynamicLink字段即可
  • 接口调用成功后,原有短链的跳转规则、社交元信息都会同步更新,短链本身不会发生变化,已经印刷投放的二维码、分发出去的链接都可以正常使用,不需要替换。

注意事项:

  1. 调用时必须使用原短链所属Firebase项目的API密钥,跨项目调用会返回权限错误
  2. 微信、Twitter等社交平台的卡片信息存在本地缓存,更新后最长可能需要7天自动生效,紧急场景可以到对应平台的卡片调试工具手动触发缓存刷新

修改后的可直接复用的代码示例:

// 替换为你要保留的原有短链的后缀
const targetShortSuffix = "原有短链的后缀字段";
// 替换为更新了社交图片参数的新动态长链接
const updatedLongDynamicLink = "包含新社交图地址的longDynamicLink";

const options = { 
    method: 'PATCH',
    uri: `https://firebasedynamiclinks.googleapis.com/v1/shortLinks/${targetShortSuffix}?key=${firebaseProjectApiKey}`,
    headers: {
      'Content-Type': 'application/json'
    },
    body: {
      "longDynamicLink": updatedLongDynamicLink
    },
    json: true
  };

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 03:01:25