Google URL Shortener停用后,如何用C#对接Firebase动态链接API?
替换Google URL Shortener为Firebase动态链接的实操指南
我太懂这种手足无措的感觉了——用了好几年的工具突然要停用,官方文档又写得云里雾里,连个直接能用的代码示例都不给,对非专业开发者来说简直是噩梦。别慌,我一步步带你把原来的URL缩短代码改成Firebase动态链接的版本,尽量说得直白易懂。
先搞懂核心逻辑
Firebase动态链接是通过HTTP POST请求生成短链接的,说白了就是给指定的API地址发一段包含你要缩短的长链接、你的API密钥和一些配置的JSON数据,然后它返回给你生成好的短链接。
给你写好的代码示例(以C#为例,看你原代码是string开头,应该是用的C#)
先确认你有没有引入必要的工具包:如果用JSON序列化的话,需要安装Newtonsoft.Json(NuGet里搜就能装),然后加这些命名空间:
using System.Net.Http; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json;
然后直接用这个方法替换你原来的URL缩短逻辑:
public async Task<string> GenerateFirebaseShortLink(string yourLongUrl, string yourFirebaseApiKey) { // 固定的Firebase动态链接API地址,把你的API密钥拼在后面 string apiUrl = $"https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key={yourFirebaseApiKey}"; // 构造要发送的请求内容,这里是关键配置 var requestData = new { dynamicLinkInfo = new { // 这里要换成你在Firebase控制台创建的动态链接域名前缀,比如https://myapp.page.link domainUriPrefix = "https://你的自定义前缀.page.link", link = yourLongUrl // 你要缩短的那个长链接 }, suffix = new { // SHORT是短后缀,好记;UNGUESSABLE是长后缀,更安全,选一个就行 option = "SHORT" } }; // 把上面的对象转成JSON字符串 string jsonRequest = JsonConvert.SerializeObject(requestData); // 发送POST请求 using (HttpClient client = new HttpClient()) { var requestContent = new StringContent(jsonRequest, Encoding.UTF8, "application/json"); var response = await client.PostAsync(apiUrl, requestContent); // 处理返回结果 if (response.IsSuccessStatusCode) { string responseJson = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject<dynamic>(responseJson); return result.shortLink; // 拿到生成的短链接啦 } else { // 如果出错了,把错误信息打出来方便排查 string errorDetails = await response.Content.ReadAsStringAsync(); throw new Exception($"生成短链接失败:{errorDetails}"); } } }
关键配置怎么填?
- domainUriPrefix:你得先去Firebase控制台的「动态链接」模块,创建一个属于你自己的域名前缀,比如
https://my-short-links.page.link,把这个填进去就行。 - yourFirebaseApiKey:就是你已经拿到的那个Firebase API密钥,直接复制粘贴进去。
- suffix.option:选
SHORT生成的短链接更短更好记,选UNGUESSABLE生成的链接后缀更长,不容易被别人猜出来,看你需求选。
怎么调用这个方法?
把你原来调用Google URL Shortener的代码换成下面这样就行:
// 你要缩短的长链接 string myLongUrl = "https://www.example.com/very/long/url/you/want/to/shorten"; // 你的Firebase API密钥 string myApiKey = "AIzaSyXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // 生成短链接 string myShortLink = await GenerateFirebaseShortLink(myLongUrl, myApiKey);
其他注意事项
- 如果你用的不是C#,比如Python或者Java,思路完全一样:构造POST请求,发送JSON格式的请求体到那个API地址,解析返回的JSON里的
shortLink字段就行。 - 确保你的Firebase项目已经开启了「动态链接」服务,去控制台检查一下,没开的话开一下就行。
- 如果请求失败,先看返回的错误信息,常见问题比如域名前缀填错了、API密钥没权限(去Google Cloud控制台检查一下API密钥的权限,确保它能访问Firebase动态链接API)。
内容的提问来源于stack exchange,提问作者user9467387
相关产品推荐
相关产品推荐

