Line Notify - 發送通知

做完前置作業,終於要來發通知啦!

這部分相較於前面的準備簡單很多,只要準備access token跟要傳送的訊息就好。

直接看程式

//前面步驟拿到的access_token
string accessToken = "";

using (HttpClient httpClient = _httpClientFactory.CreateClient())
{
    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

    var form = new FormUrlEncodedContent(new[]
    {
                new KeyValuePair<string, string>("message", message)
        });

    var respond = await httpClient.PostAsync(new Uri("https://notify-api.line.me/api/notify"), form);

    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}");
    }
}

之後就能讓綁定的使用者收到通知了。

通知除了傳送文字、連結外,還能傳送貼圖、圖片,可以依照各種不同的應用情境作調整。

參考資料: