LINE Notify 將於 2025 年 3 月 31 日停止服務,許多使用者需要尋找替代方案來繼續使用 LINE 平台進行通知功能。LINE 官方建議使用 LINE Messaging API 搭配 LINE 官方帳號 作為替代方案。以下將詳細說明如何使用 LINE Bot 取代 LINE Notify,並提供完整的操作步驟與實作範例。
LINE Notify 與 LINE Messaging API 的差異
功能 LINE Notify LINE Messaging API
通知方式 單向通知 雙向互動(可主動推播與被動回應)
使用成本 免費 每月 200 則免費訊息,超出需付費
應用場景 簡單通知(如系統告警) 更複雜的互動功能(如聊天機器人、群組通知)
技術需求 簡單設定即可 需開發後端程式,整合 Messaging API
LINE Messaging API 提供更強大的功能,但需要一定的技術門檻來實現。以下將逐步介紹如何建立 LINE Bot,並實現與 LINE Notify 類似的通知功能。
建立 LINE Bot 的完整流程
1. 建立 LINE 官方帳號
LINE Bot 的基礎是 LINE 官方帳號,以下是建立步驟:
登入 LINE 開發者網站
前往 LINE Developers 並使用 LINE 帳號登入。
建立 Provider(提供者)
Provider 是開發者的管理單位,您可以將其視為一個專案或組織。點擊「Create a new provider」,輸入名稱後完成建立。
建立 Messaging API Channel 在 Provider 下,點擊「Create a Messaging API channel」。
填寫基本資訊(如應用名稱、業種等),完成後即可生成 LINE 官方帳號。
2. 啟用 Messaging API
生成 Channel Access Token 在 Messaging API 設定頁面,找到「Channel access token」區域,點擊「Issue」生成存取令牌。
此令牌將用於後端程式與 LINE 伺服器的通訊。
設定 Webhook URL Webhook 是用於接收 LINE 訊息的後端伺服器地址。
在「Webhook settings」中,填入後端程式的公開網址,並啟用 Webhook 功能。
3. 開發後端程式
後端程式負責處理 LINE Bot 的訊息傳遞與推播功能。以下以 Google Apps Script (GAS) 為例,快速建立後端程式。
步驟 1:建立 Google Apps Script 專案
前往 Google Apps Script。
建立新專案,並貼上以下範例程式碼:
function doPost(e) {
const LINE_TOKEN = PropertiesService.getScriptProperties().getProperty('line_channel_access_token');
const replyToken = JSON.parse(e.postData.contents).events[0].replyToken;
const message = {
replyToken: replyToken,
messages: [{ type: 'text', text: '收到您的訊息!' }]
};
UrlFetchApp.fetch('https://api.line.me/v2/bot/message/reply', {
method: 'post',
contentType: 'application/json',
headers: { Authorization: 'Bearer ' + LINE_TOKEN },
payload: JSON.stringify(message)
});
}
步驟 2:設定存取令牌
點擊左側「專案設定」。
在「指令碼屬性」中新增屬性:屬性名稱:line_channel_access_token
屬性值:填入之前生成的 Channel Access Token。
步驟 3:部署程式
點擊右上角「部署」 > 「新增部署作業」。
選擇「網頁應用程式」,並設定為「任何人都可以存取」。
部署後複製公開網址,將其填入 LINE 開發者網站的 Webhook URL。
4. 測試與驗證
加入好友
使用 LINE 掃描官方帳號的 QR Code,將其加入好友。
發送訊息測試
在聊天室中發送訊息,確認後端程式是否能正常回應。
推播訊息測試
使用以下範例程式碼,從後端主動推播訊息至 LINE:
function sendPushMessage(userId, text) {
const LINE_TOKEN = PropertiesService.getScriptProperties().getProperty('line_channel_access_token');
const message = {
to: userId,
messages: [{ type: 'text', text: text }]
};
UrlFetchApp.fetch('https://api.line.me/v2/bot/message/push', {
method: 'post',
contentType: 'application/json',
headers: { Authorization: 'Bearer ' + LINE_TOKEN },
payload: JSON.stringify(message)
});
}
進階功能實現
1. 發送群組通知
將 LINE Bot 加入群組後,使用 Webhook 接收群組訊息,並記錄群組 ID。
使用推播 API 發送訊息至群組。
2. 發送多媒體訊息
LINE Messaging API 支援圖片、貼圖、影片等多媒體訊息。以下為發送圖片的範例:
function sendImageMessage(userId, imageUrl) {
const LINE_TOKEN = PropertiesService.getScriptProperties().getProperty('line_channel_access_token');
const message = {
to: userId,
messages: [{
type: 'image',
originalContentUrl: imageUrl,
previewImageUrl: imageUrl
}]
};
UrlFetchApp.fetch('https://api.line.me/v2/bot/message/push', {
method: 'post',
contentType: 'application/json',
headers: { Authorization: 'Bearer ' + LINE_TOKEN },
payload: JSON.stringify(message)
});
}
3. 整合第三方服務
可將 LINE Bot 與其他服務(如 Google Sheets、Firebase)整合,實現更豐富的應用場景。例如:
Google Sheets:記錄通知歷史。
Firebase:實現即時資料更新與通知。
注意事項與限制
免費訊息數量限制
每個月僅提供 200 則免費訊息,超出部分需付費。
安全性
請妥善保管 Channel Access Token,避免未授權的存取。
技術門檻
Messaging API 的實作需要一定的程式開發能力,建議熟悉基本的 API 操作。
透過 LINE Messaging API,您可以實現比 LINE Notify 更靈活的通知功能。雖然需要投入一定的開發時間,但其強大的功能與擴展性,能為個人或企業帶來更多價值。希望本文的詳細教學能幫助您順利完成 LINE Notify 的替代方案實作!