如果使用者不想再收到通知,除了要他自己去Line的網站取消訂閱外,也能在你的系統中直接做一個解除綁定的功能。
話不多說,直接看程式。
//前面步驟拿到的access_token
string accessToken = "";
using (HttpClient httpClient = _httpClientFactory.CreateClient())
{
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var respond = await httpClient.PostAsync(new Uri("https://notify-api.line.me/api/revoke"), null);
if (respond.IsSuccessStatusCode)
{
var result = JsonConvert.DeserializeObject<JObject>(await respond.Content.ReadAsStringAsync());
if (result["status"].Value<string>() == "200")
{
//done
}
else
{
throw new Exception($"解除綁定時發生錯誤:{result["message"].Value<string>()}");
}
}
else
{
throw new Exception($"解除綁定時發生錯誤,Http code:{respond.StatusCode} {respond.Content.ReadAsStringAsync().Result}");
}
}
之後使用者就會收到解除綁定的通知了。
參考資料: