【LineBot實作】使用Google Cloud Storage產生檔案直接URL

Pearl
Dec 15, 2023

--

前言

因為在設定Line機器人傳送訊息的時候,會需要使用到圖片、影片、聲音等檔案,Line又只能接受直接的檔案URL,因此這邊使用Google Cloud Storage獲得直接URL!(沒有自架伺服器的人可以試試看!)

開始

進到Google Cloud官網,點選「控制台」或「開始試用」。

找到Google Cloud Storage。(找不到的話可以看看「儲存空間」這個類別)

建立Google Cloud Storage

可以先建立自己的專案
(輸入專案名稱後就一直按下一步就好)

再來建立值區

然後你就會看到一個建立完成的空間,在這邊就可以上傳檔案!

但是!這時候的檔案是非公開的,也就是說LineBot還無法使用,所以我們要先來調整權限。

調整權限

在「權限」頁面中,移除不可公開存取的限制,再授予新的存取權

然後新增一個主體叫「allUsers」,指派它擔任「儲存空間物件檢視者」的角色

然後儲存後就會發現它的公開存取權更改成「在網際網路上公開」,這時候這個空間內的檔案就可以被Linebot讀取了。

(會出現驚嘆號,但別怕!)

上傳檔案

  • 圖片、影片、聲音訊息

如果是要傳送的圖片、影片、聲音訊息,就直接把檔案拉上去就好。(或是按新增檔案)

然後會看見它在公開存取權的地方,都會有一個複製網址,這就是可以給Line讀取的直接檔案連結。

  • Imagemap

如果是要傳送imagemap的訊息模式,就需要先修改圖片的大小,Line為了因應各種大小的頁面,所以需要你上傳各種大小的圖片。

imagemap需要寬度240px、300px、460px、700px、1040px的圖片,然後製作完後需要將檔名分別改為240、300、460、700、1040,把這些圖片都放在同一個資料夾中,再上傳到Google Cloud Storage。
(請善用線上網站轉換圖片大小,或是用小畫家、AI、PS等軟體。)

上傳後應該會是下方圖片的樣子,但是Line不接受副檔名,所以要把檔案全部重新命名!

注意:就算你原本的檔案沒有副檔名,但是在上傳的時候會自動加上附檔名,所以要全部重新命名!

這時候隨便找一張圖片去複製網址,
長的會像 :https://storage.googleapis.com/XXX/資料夾名/圖片檔名
但我的LineBot需要的檔案是整個資料夾,因此Imagemap需要的URL會是圖片的上層資料夾,長這樣:https://storage.googleapis.com/XXX/資料夾名。(請自行刪除後面的圖片檔名)

注意:這個URL是沒有辦法在瀏覽器上顯示的!(但LineBot可以使用)

完成

好了~這樣就可以獲得檔案的直接URL了!
(我可以繼續去寫LineBot回覆訊息種類的文章了QQ)

--

--