稍微缩短 URL - 获取 WaitingForActivation 状态
Bitly shorten URL - getting status as WaitingForActivation
我正在尝试生成短 link 使用 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);
这个问题的原因很简单,就是下面的love在执行的时候:-
var resp = await client.PostAsJsonAsync("https://api-ssl.bitly.com/v4/shorten", content);
它导致代码在没有完成当前部分的情况下移动到下一行。所以,下一行:-
var link = await resp.Content.ReadAsStringAsync();
因此无法正常执行。
要解决此问题,您可以创建一个等待期,直到 returned 做出某些响应。一旦响应被 returned,然后移动到下一行,然后 return link。
我正在尝试生成短 link 使用 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 = WaitingForActivationvar shortLink = GetShortUrl(surveylink);
这个问题的原因很简单,就是下面的love在执行的时候:-
var resp = await client.PostAsJsonAsync("https://api-ssl.bitly.com/v4/shorten", content);
它导致代码在没有完成当前部分的情况下移动到下一行。所以,下一行:-
var link = await resp.Content.ReadAsStringAsync();
因此无法正常执行。
要解决此问题,您可以创建一个等待期,直到 returned 做出某些响应。一旦响应被 returned,然后移动到下一行,然后 return link。