我想生成一个通常使用Firebase dynamic(如API)缩短URL的函数
string shorturl = "";
string GoogleAPIkey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=" + GoogleAPIkey);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
string yourFireBaseDomain = "https://xxxxxxxxxxxxxxxxxxx.page.link/?link=";
string urlToShort = "https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.blob.core.windows.net/beta-images/1570213358_89deb391-eecc-4fb9-a960-734b0cfdc93c.jpg?sv=2018-03-28&sr=b&sig=3jPnHuw82pKyLJXRfqmbsDjQsTMVg93xL2wCTthL9YE%3D&st=2019-10-19T12%3A50%3A16Z&se=2020-10-18T12%3A55%3A16Z&sp=r";
// var encodingUrlString = System.Net.WebUtility.UrlEncode(urlToShort);
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"longDynamicLink\":\"" + yourFireBaseDomain + urlToShort + "\"}";
streamWriter.Write(json);
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
dynamic data = JObject.Parse(responseText);
shorturl = data.shortLink;
}
Console.WriteLine($"shortern url:- {shorturl}");
代码正在唤醒查找并返回响应。响应结果的网址较短,但带有一些警告
“警告”:[ { “ warningCode”:“ UNRECOGNIZED_PARAM”, “ warningMessage”:“无法识别的参数'amp; sr'。[https://firebase.google.com/docs/dynamic-links/create-manually#ddl_parameters]” }, { “ warningCode”:“ UNRECOGNIZED_PARAM”, “ warningMessage”:“无法识别的参数'amp; sig'。[https://firebase.google.com/docs/dynamic-links/create-manually#ddl_parameters]” }, { “ warningCode”:“ UNRECOGNIZED_PARAM”, “ warningMessage”:“无法识别的参数'amp; st'。[https://firebase.google.com/docs/dynamic-links/create-manually#ddl_parameters]” }, { “ warningCode”:“ UNRECOGNIZED_PARAM”, “ warningMessage”:“无法识别的参数'amp; se'。[https://firebase.google.com/docs/dynamic-links/create-manually#ddl_parameters]” }, { “ warningCode”:“ UNRECOGNIZED_PARAM”, “ warningMessage”:“无法识别的参数'amp; sp'。[https://firebase.google.com/docs/dynamic-links/create-manually#ddl_parameters]” }, { “ warningCode”:“ UNRECOGNIZED_PARAM”, “ warningMessage”:“没有配置可防止在此域https://dynamiclinkshorten.page.link上进行网络钓鱼。在Firebase动态链接控制台中将URL模式设置为白名单。[https://support.google.com/firebase/answer/9021429]” } ]
在该较短链接上的直接url也链接到第一个查询字符串的一半 像例子 https://indigoyachtingbeta.blob.core.windows.net/beta-images/1570213358_89deb391-eecc-4fb9-a960-734b0cfdc93c.jpg?sv=2018-03-28
因此,在这里,任何人都知道如何使用带有许多查询字符串的完整网址来缩短带有Firebase的网址