我正在嘗試生成短鏈接 Using bitly 但得到“ Status = WaitingForActivation ”
public async Task<string> GetShortUrl(string url)
{
var myAccessToken = "Token";
var client = new HttpClient();
client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", $"Bearer {myAccessToken}");
var content = new
{
long_url = url
};
//HTTP POST
var resp = await client.PostAsJsonAsync("https://api-ssl.bitly.com/v4/shorten", content);
var link = await resp.Content.ReadAsStringAsync();
return link;
}
[HttpGet("redirectUser/{PlanId}")]
[ValidateModelState]
public async Task<IActionResult> sendNotification(Guid PlanId)
{
var surveylink = "https://chats.landbot.io";
// getting Status = WaitingForActivation
var shortLink = GetShortUrl(surveylink);
}
}
我收到 Status = WaitingForActivation 在
var shortLink = GetShortUrl(surveylink);
uj5u.com熱心網友回復:
這個問題的簡單原因是當下面給出的愛被執行時:-
var resp = await client.PostAsJsonAsync("https://api-ssl.bitly.com/v4/shorten", content);
它導致代碼在沒有完成當前部分的情況下移動到下一行。所以,下一行:-
var link = await resp.Content.ReadAsStringAsync();
結果無法正常執行。
解決此問題的方法是創建一個等待期,直到回傳某些回應。回傳回應后,移至下一行,然后回傳鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/333239.html
標籤:C# asp.net-mvc .net核心 有点
下一篇:如何將“范圍”值映射到身份宣告?
