iInfo 資訊交流: LINE Notify 入門到進階應用(3) --- Excel傳送網路圖片到Line Notify

最新消息

[公告2014/05/30] 如有需要將部落格中,任何一篇文章的程式碼使用在商業用途,請與我聯繫。

[公告2015/04/26] Line版的 iInfo程式與投資應用 群組已上線想加入的朋友們,請先查看 "入群須知" 再與我聯繫 Line : aminwhite5168,加入請告知身分與回答 "入群須知" 的問題。

[公告2017/02/20] 近來有網友詢問 MultiCharts 與 Excel 畫冰火能量圖 (8)MultiCharts 與Excel 畫冰火能量圖(11) --- 更名「台股儀表板」 文章中教學檔案取得方式,有興趣的朋友可透過 Line了解詳情 (請勿以為是免費分享),Line : aminwhite5168。

[公告2018/04/22] 台北 Python + Excel VBA 金融資訊爬蟲課程,課程如網頁內容 金融資訊爬蟲班:台北班 Python 金融資訊爬蟲、EXCEL VBA 金融資訊爬蟲,請盡快把握機會,歡迎券商、大專院校邀約講座。

[公告2018/06/01] 台指能量儀表板教學課程,課程如網頁內容 台北班:台指能量儀表板

[公告2018/10/02] 期交所於2018/10/03進行網址改版,若有參考部落格與期交所相關文章,請各位讀者自行修改。

2017年1月2日 星期一

LINE Notify 入門到進階應用(3) --- Excel傳送網路圖片到Line Notify

LINE Notify 入門到進階應用(1) --- 訊息傳送環境設定 與 LINE Notify 入門到進階應用(2) --- Excel傳送文字到LINE Notify 介紹了環境安裝與傳送文字方法,今天介紹如何傳送URL圖片到Line Notify中,至於從本機端傳送圖片到Line Notify,由於操作過程複雜,後續再找時間分享。
沿用 LINE Notify 入門到進階應用(2) --- Excel傳送文字到LINE Notify 文章內的程式碼做些微修改,傳送URL中的圖片有別於一般傳送本機圖片,重點在於網路圖片的真實連結,而非網頁連結,很重要!很重要!很重要!(因為重要,所以講三次)
Postman使用。

Sub SendMessageToLineNotify()
    Dim oXML As Object
    Dim strToken As String
    Dim strMessage As String, strAllMessage As String
    Dim strImageThumbnail As String
    Dim strImageFullsize As String
    Dim strStickerPackageId As String
    Dim strStickerId As String
    Dim strPicURL As String
    Dim URL As String
    
    '指定的LineNotify Token
    strToken = "你的Token"
    
    'Line Notify的傳送訊息網址
    URL = "https://notify-api.line.me/api/notify"
        
    '中文字
    strMessage = "傳網頁圖檔測試 家扶娃娃撲滿 ~!@#$%^*()1234567890ABCabc"

    '網路圖片連結 家扶娃娃撲滿
    strPicURL = "https://www.beclass.com/share/201507/18379b4559c82b51a7a71010r.jpg"
    
    '傳送參數內容
    strMessage = "message=" & strMessage
    strImageThumbnail = "imageThumbnail=" & strPicURL
    strImageFullsize = "imageFullsize=" & strPicURL
    strStickerPackageId = "stickerPackageId=" & "1"
    strStickerId = "stickerId=" & "106"
    
    strAllMessage = strMessage & "&" & strImageThumbnail & "&" & strImageFullsize & "&" & strStickerPackageId & "&" & strStickerId
    
    '建立Ajax物件
    Set oXML = CreateObject("Microsoft.XMLHTTP")
    With oXML
        '使用同步傳輸
        .Open "POST", URL, 0
        
        '設定傳送封包Header
        .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        .SetRequestHeader "Authorization", "Bearer " & strToken
        
        '執行Ajax傳送
        .send (strAllMessage)
        
        Debug.Print oXML.responseText
    End With
    
    '釋放物件資源
    Set oXML = Nothing
End Sub
程式碼第22行:家扶娃娃撲滿圖片的真實連結。

程式碼第27、28行:傳送圖片的參數imageThumbnail、imageFullsize,需成對存在傳送。

程式碼第31行:將全部字串組起來時,記得要用 "&" 串接起來。
程式碼第40行:由於使用application/x-www-form-urlencoded 為 Content-Type,所以不需要對中文字進行UTF-8的轉碼,使用multipart/form-data 為 Content-Type,才須對中文字進行UTF-8轉碼。
執行結果

參考資料