但這麼會讓所有不同類別的訊息全部夾雜在line notify
如果可以用不同的機器人來推播不同的消息就好了
EX:一個機器人專門推播股票新聞,一個機器人專門推播天氣狀況...等等
今天終於學會怎麼做了!
首先,你當然要先有個line機器人
這部分算是蠻簡單的,到 https://developers.line.me/ 註冊一個機器人
網路上也有許多教學
接下來取得2樣東西
1.channel access token
如果沒有就按旁邊的issue,時間選 0 hour
2.userID
UsedID在最底下就可取得
然後將這兩樣東西帶入程式碼
Sub test()
Dim myXML As Object
Set myXML = CreateObject("winHttp.winHttpRequest.5.1")
channelAccessToken = ""
UserId = ""
sendMsg = "zzz"
With myXML
.Open "POST", "https://api.line.me/v2/bot/message/push", False
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "Authorization", "Bearer " & channelAccessToken
payLoad = "{""to"":""" & UserId & """, ""messages"":[{""type"":""text"",""text"":""" & sendMsg & """}]}}"
.send payLoad
End With
Set myXML = Nothing
End Sub
(記得要先加自己機器人好友,只要掃上面的QR code就可以了)
參考資料
Line API reference
完整學習VBA自動化抓取網頁資料+資料圖表化,做出自己的股票研究系統
請參考
請問版大,機器人還有啓動其他額外設定嗎?我拿到channel access token 及id並加機器人為好友,執行上述程式後沒有出現訊息...,可以怎麼查測知道是否卡在哪個環節嗎?
回覆刪除需要webhook嗎?
刪除.Status 出現400
刪除不用webhook,可以使用debug.print .responseText來看一下錯誤訊息
刪除您好,我之前複製後使用了一陣子(公司電腦),但突然不能用了。我確定程式碼沒有問題,因為好幾個檔案都有用,且都成功過。不知是否要啟動哪個增益集,還是設定上要怎麼處理呢?感謝🙏
刪除作者已經移除這則留言。
回覆刪除謝謝版大的回覆,後來我知道原因了....因為UserId 是指接收的人或群組的id,呵..我以為是填機器人的id,謝謝你,只是要去查接收人的id蠻麻煩的,看 https://developers.line.me的解釋,本想用它來查接收人的id,但好像把私人的lineid 註冊進去就無法reback,只好作罷
回覆刪除你寫的文章很不錯,有機會可以跟你交流一下嗎?
回覆刪除我的Line ID: aminwhite5168
感謝版大的分享,另外想請教如果是要用VBA上傳照片又該如何寫呢???
回覆刪除哈囉~這部分首先要先將照片存在一個可產生https網址的地方,印象中dropbox和google drive都可以
刪除接著參考line API文件,了解如何發送照片訊息
請問 從 excel vba 傳資料給line的特定帳號(好友) 不是 line notify
回覆刪除要準備什麼程式 或 其流程??
謝謝!
哈囉,目前這是無法做到的,若真的可以達到那豈不是廣告商可以大範圍散佈廣告資訊?
刪除所以目前的做法是,你需要到line developer創建一隻機器人,然後讓這個機器人加入好友,這樣這個機器人才有「權限」發訊息給你
問一下喔! 我剛抄過去 訊息有傳成功過一次後 我接著多按幾下就沒有動作了 是有限制發送的頻率嗎?
回覆刪除她跑出這段話 我不知道哪錯了
回覆刪除{"message":"The property, 'to', in the request body is invalid (line: -, column: -)"}
哈囉不好意思這麼晚回覆,我想可能是有不小心誤觸到甚麼按鍵,導致格式跑掉,能麻煩你在複製一次上面的格式嗎
刪除UsedID在最底下就可取得,可是機器人發的訊息只能給自己看別人看不到,要如何知道別人或群組ID呢?
回覆刪除這部分的話用VBA是做不到的
刪除原因是因為,如果你要取得別人的ID,必須先讓那位用戶加機器人,當那位用戶加機器人好友後,Line會傳資料給你,大概就是說哪位用戶在甚麼時間關注機器人了,這時候你才拿的到別人的UserID
但要做到這點,你必須有一個Server去接Line傳給你的資料,所以你必須把程式放在Heroku、AWS等雲端平台,或是將自己的電腦當作Server,此外使用的語言也會是Python等等
不過如果是要在群組內發消息,可以試試看Line Notify,我最近也許會研究看看
作者已經移除這則留言。
回覆刪除請問訊息內容要換行還要再加上什麼code,謝謝
回覆刪除請問userid在哪邊的最底下可以看到呢?謝謝
回覆刪除我發現,每個Group ID和 UserID不管對哪個官方帳號都是一樣的,目前的做法是,用GAS綁一個API的Web hook 裡面可以Get到所有人的UID和訊息,透過Line notify把訊息傳給自己 , 然後再用版大的VBA發訊息,成功解決Web hook無法私聊的問題,感激👍
回覆刪除完了,按了好幾次上一頁,然後就變這樣了😭
回覆刪除大哥 您好,感謝您的分享手把手教學,已學會發送訊息,想進一步請問該如何使用VBA 接收 LineBot所收到的使用者訊息? 希望可以在上班時間用VBA與別人聊Line (工作環境只能用VBA)
回覆刪除完美,感謝。
回覆刪除請問在執行階段,出現"安全通道支援發生錯誤"的錯誤訊息該如何解決
回覆刪除