Replit 在 2024/01/01 取消免費用戶 always on 的功能, 此功能本來是讓伺服器專案就算關掉頁面也會在有用戶端嘗試連入時自動啟動的功能。這使得原本書上 ch09 中提供氣象資訊的 replit 專案無法自動啟動執行。為了讓書上範例可以持續運作, 我們改用 Google 的 Apps Script 服務建立同樣功能的 JavaScript 專案, 讓 API 可以持續運作提供氣象資料。 如果想查看專案內容, 請點擊以下連結進入專案頁面 * 專案 [weather_api 專案]( https://script.google.com/d/1EQBdfKKdXkquGDM9Mh8aZau-T3Rg4OIpgNToux8YdrGWd6v0uLafxBZs/edit?usp=sharing ) 如果想要改成自己的 API 授權碼, 可以遵循以下步驟, 先取得氣象開放平臺授權碼, 然後建立專案副本。 ## 前往氣象開放平臺取得授權碼 1. 前往[氣象開放平臺](https://opendata.cwa.gov.tw/), 點擊右上角 登入/註冊 ![10](https://hackmd.io/_uploads/BkDLixYuT.png) 2. 請點擊 加入會員 ![11](https://hackmd.io/_uploads/HkQDigKup.png) 3. FaceBook 登入目前無法使用 ![12](https://hackmd.io/_uploads/ByYwogY_6.png) 4. 到中央氣象署會員申請同意書 請點擊同意 ![13 ](https://hackmd.io/_uploads/SyADigtO6.png) 5. 填入個人資訊 ![14](https://hackmd.io/_uploads/H14OsxYOp.png) 6. 完成後到信箱驗證, 驗證完回來登入, 進去後會是 API 授權碼畫面, 請點擊 取得授權碼, 這樣就取得自己的授權碼啦! ![15](https://hackmd.io/_uploads/rkKOilFdT.png) ## 建立專案副本 1. 前往專案 [weather_api 專案]( https://script.google.com/d/1EQBdfKKdXkquGDM9Mh8aZau-T3Rg4OIpgNToux8YdrGWd6v0uLafxBZs/edit?usp=sharing ) , 將滑鼠移到左邊欄位點選總覽 ![16](https://hackmd.io/_uploads/HJ0u4BF_p.png) 2. 在總覽中如下圖請點擊建立複本, ![17](https://hackmd.io/_uploads/rkpdEStOp.png) 3. 接著就會有一個叫做 Copy of weather_api 的專案 ![18](https://hackmd.io/_uploads/rkCu4rYO6.png) 4. 點選左邊欄位的專案設定 ![19](https://hackmd.io/_uploads/SypuVHKuT.png) 5. 到下面的指令碼屬性, 點擊新增指令碼屬性 ![20](https://hackmd.io/_uploads/SJpd4SFOp.png) 6. 建立屬性 KEY, 值則是氣象局的授權碼 ![21](https://hackmd.io/_uploads/HkC_NrFd6.png) 7. 建立好後就可以部屬了, 點擊右上角部署中的新增部署作業 ![22](https://hackmd.io/_uploads/rJCuNrKu6.png) 8. 設定不變直接點擊部署 ![23](https://hackmd.io/_uploads/SkR_NBYup.png) 9. 點擊 授予存取權, 這樣別人才能用你的專案 ![24](https://hackmd.io/_uploads/HkRdVHtda.png) 10. 登入自己的 Google 帳號 ![25](https://hackmd.io/_uploads/H1C_NStOa.png) 11. 會出現不信任的安全問題, 請點選 Advanced ![26](https://hackmd.io/_uploads/B1C_VSt_6.png) 12. 點選最下面的 Go to Copy of weather api(unsafe) ![27](https://hackmd.io/_uploads/S10_4HFuT.png) 13. 最後一步點擊 Allow 就成功了 ![28](https://hackmd.io/_uploads/HJ0OVHFOa.png) 14. 成功之後就會出現 ID 和網址 ![29](https://hackmd.io/_uploads/BkRuNSFO6.png) 取得網址後就可以如書中範例操作自己的 API 給助理生成天氣預報網頁 ## 如果想繼續使用 Replit 專案 如果想要繼續使用書中的 replit 專案, 就必須先複製成自己的專案並使用自己的氣象局授權碼, 而且不是 Replit 付費用戶的話, 就必須要自行運作專案才能取得回應, 請遵循以下步驟 1. 到 [replit](https://replit.com/@flagtech/GTP4Devweatherapi) 專案點擊 Fork ![1](https://hackmd.io/_uploads/SkS_Sxtda.png) 2. 如果沒有登入的話會登入要求(已登入可省略此步驟) ![2](https://hackmd.io/_uploads/ryBTHxYO6.png) 3. 點擊右下角的 Fork Repl ![3](https://hackmd.io/_uploads/BJvWDlFuT.png) 4. 點擊 Manage Secrets ![4](https://hackmd.io/_uploads/SJHIDeFdp.png) 5. 輸入氣象開放平臺授權碼 ![5](https://hackmd.io/_uploads/rkz_PlKua.png) 6. 完成後就可以點擊 Run 執行 ![6](https://hackmd.io/_uploads/SkAfuxYOa.png) 7. 接著右邊虛擬瀏覽器會出現畫面, 請點擊 New tab 開新分頁 ![7](https://hackmd.io/_uploads/r1rmult_6.png) 8. 新分頁打開後就可以複製網址了 ![8](https://hackmd.io/_uploads/HJjmOetua.png) 9. 將步驟三網址更換成新的網址, 就完成使用自己 API 的方式了 ![9](https://hackmd.io/_uploads/HyMNuet_T.png) 再次提醒免費用戶沒有 always on 服務, 就算在 Run 狀態下關閉網頁, 一小段時間後就會自動停止執行, 無法回應了唷!