# 單元一、初嘗 Push Message API
## 課前準備
### 軟體安裝
1. Postman - https://www.postman.com/downloads/

### 帳號申請
1. 申請LINE@帳號並啟用 - https://www.linebiz.com/tw/
2. Postman帳號註冊 (不一定要註冊)
## 申請LINE@帳號
1. 前往 https://www.linebiz.com/tw/

2. 選擇登入LINE帳號

3. 填寫相關資料,填寫後點選「確認」即可


4. 確認內容正確性,並點選「提交」

5. 註冊完畢

註冊完畢同時也會自動將此帳號加入好友清單

## 啟用聊天機器人模式
1. 確認回應模式

2. 請確認選擇為「聊天機器人」

3. 啟用Messaging API

4. 選擇任一服務提供者,或者直接建立新的

5. 填寫隱私權政策及服務條款網址,此處為選填

6. 確認無誤後點選「確定」即可

7. 啟用成功!

## 使用Postman 進行 Push Message API 測試
1. 前往LINE Developers 進行設定 - https://developers.line.biz/console/profile
2. 選擇剛才所建立的帳號

3. 在「Messaging API」下方找到「Channel access token (long-lived) 」,點選「issue」

4. 點選後可取得Channel access token,此為後續呼叫API必須使用的Token,請妥善保存切勿外流

5. 回到「Basic settings」的最下方,找到「Your user ID」並記錄下來,等一下會用到...

6. 開啟Postman,建立新的請求(Request)測試,方法選擇「POST」,網址列填入API URL: `https://api.line.me/v2/bot/message/push`
開啟「Authorization」頁面,Type選擇Beare Token,右方的Token欄位則貼入先前取得的「Channel access token (long-lived) 」

7. 參照LINE Messaging API官方文件撰寫JSON格式呼叫API - https://api.line.me/v2/bot/message/push
``` JavaScript=
{
"to": "要發送訊息的對象,可填入剛才取得的User ID發送給自己",
"messages":
[
{
"type":"text",
"text":"填入要發送的訊息"
}
]
}
```
8. 開啟「Body」頁面,選擇「raw」類型,並選擇「JSON」,將前述JSON內容貼入下方空白區域,確認無誤後可以點選「Send」按鈕

9. 檢視成果:測試看看在LINE的聊天室窗有沒有收到你寫的訊息!!

## 延伸練習
- 請試著更改傳送的文字訊息,看看能不能正確收到更改後的訊息
- 上述範例測試的訊息是Text形式,其他還有以下類別的訊息格式,可以參考官方文件進行測試:
* [Text message](https://developers.line.biz/en/reference/messaging-api/#text-message)
* [Sticker message](https://developers.line.biz/en/reference/messaging-api/#sticker-message)
* [Image message](https://developers.line.biz/en/reference/messaging-api/#image-message)
* [Video message](https://developers.line.biz/en/reference/messaging-api/#video-message)
* [Audio message](https://developers.line.biz/en/reference/messaging-api/#audio-message)
* [Location message](https://developers.line.biz/en/reference/messaging-api/#location-message)
* [Imagemap message](https://developers.line.biz/en/reference/messaging-api/#imagemap-message)
* [Template messages](https://developers.line.biz/en/reference/messaging-api/#template-messages)
* [Flex Message](https://developers.line.biz/en/reference/messaging-api/#flex-message)