https://github.com/louis70109/lotify-swagger-example
Lotify + swagger example
https://github.com/louis70109/lotify-swagger-example
Last synced: 2 months ago
JSON representation
Lotify + swagger example
- Host: GitHub
- URL: https://github.com/louis70109/lotify-swagger-example
- Owner: louis70109
- License: mit
- Created: 2020-05-17T06:39:31.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-22T23:27:15.000Z (about 2 years ago)
- Last Synced: 2025-01-31T22:11:23.608Z (4 months ago)
- Language: Python
- Homepage:
- Size: 67.4 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: MIT-LICENSE
Awesome Lists containing this project
README
# Flask-LINE-notify
[](https://opensource.org/licenses/MIT)
[](https://badge.fury.io/py/lotify)這是一個使用 [Lotify](https://github.com/louis70109/lotify) 以及 Swagger 的範例程式,歡迎大家取用試玩。
# LINE Notify 註冊
可以參考我之前[鐵人賽的文章](https://nijialin.com/2019/09/20/Day5-%E5%81%9A%E4%B8%80%E5%80%8B%E8%88%87-LINE-Notify-%E9%80%A3%E5%8B%95%E7%9A%84%E6%9C%8D%E5%8B%99/)。
設定的 Callback Url 為 `http://YOUR_DOMAIN/callback`,本地端測試網址就為 `http://localhost:5000/callback`
# 一鍵部署
[](https://heroku.com/deploy)
按下上面部署按鈕之後需要設定 LINE Notify 基本所需三個 `環境變數`
以下則是環境變數所有的詳細介紹
# 環境變數
```
LINE_NOTIFY_CLIENT_ID=
LINE_NOTIFY_CLIENT_SECRET=
LINE_NOTIFY_REDIRECT_URI=
// 三個 LINE Notify 需要的參數
DOMAIN_NAME= // swagger 相關參數
LOCAL=true // 預設本地端 true,若是上限則需 false | None
PORT= // API port
```# 本地端測試
```
cp .env.sample .env
LOCAL=true python api.py
```## Docker
```
docker build -t lotify-swagger .
docker run --rm \
-e LOCAL=true -e LINE_NOTIFY_CLIENT_ID= \
-e LINE_NOTIFY_CLIENT_SECRET= -e LINE_NOTIFY_REDIRECT_URI= \
-p 5000:5000 lotify-swagger
```
# 步驟### [LINE Notify](https://notify-bot.line.me/zh_TW/) 基本設定

---
### 初始頁面
開啟瀏覽器後輸入 `http://localhost:5000` 後就會看到一個輸入按鈕

---
### 綁定通知 - 選擇`1對1聊天接收`

---
### 連動完成
這時候 LINE Notify 就會推播一個綁定成功的通知

---
### 網頁範例
同時瀏覽器會被導到`/notify/check` 並帶上 code & state 的資訊
---
### 實測內容
## 
# 路由
- 配合前端 template
- GET /
- 使用者點選綁定的畫面
- GET /callback
- LINE Notify 的設定以及認證完後的 callback 路由
- 幫忙發送推播的路由(因為有[ CORS 問題](https://developer.mozilla.org/zh-TW/docs/Web/HTTP/CORS)所以需要 api 來幫忙轉發)
- 取得連結 POST /notify/link
- 換取 Token POST /notify/change
- 發送文字訊息 POST /notify/send
- 發送貼圖訊息 POST /notify/sticker
- 發送圖片 by 網址 POST /notify/url
- 發送圖片 by 檔案 POST /notify/file
- 註銷 Token POST /notify/revoke# 授權
[MIT](https://github.com/louis70109/flask-line-notify/blob/master/MIT-LICENSE)