Page 1 of 1

สอบถามวิธีเพิ่ม line token หน่อยครับ

Posted: Sat Jul 11, 2020 11:06 pm
by puayoh
ขอสอบถามหน่อยครับ
ผมต้องการที่จะเพิ่ม line token ให้สามารถส่งไลน์หาได้อีกหลายๆคน
ไม่ทราบว่าต้องแก้ตรงไหนครับ รบกวนช่วยหน่อยครับ

Code: Select all

Sub test_noti()
Call LineNotify("ทดลอง")
Call LineNotify("เทพ excel")
End Sub


Sub LineNotify(msg As String, Optional stickID As Integer, Optional stickPack As Integer)

Dim LineToken As String
Dim lineMessage As String
Dim objectXML As Object
Dim URL As String

'========================================

LineToken = "Your token"
'========================================

'Line Message
yourMessage = msg

lineMessage = "message=" & yourMessage

'========================================


Set objectXML = CreateObject("Microsoft.XMLHTTP")
URL = "https://notify-api.line.me/api/notify"
With objectXML
    .Open "POST", URL, 0
    .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .SetRequestHeader "Authorization", "Bearer " & LineToken
     .send (lineMessage)
     Debug.Print objectXML.responseText
End With

Set objectXML = Nothing

End Sub

Re: สอบถามวิธีเพิ่ม line token หน่อยครับ

Posted: Sun Jul 12, 2020 9:20 am
by snasui
:D ปรับ Procedure Sub LineNotify(msg As String, Optional stickID As Integer, Optional stickPack As Integer) โดยเพิ่ม Parameter ให้รับ Token เข้าไปด้วย เช่น Sub LineNotify(msg As String, tk as string, Optional stickID As Integer, Optional stickPack As Integer)

และเมื่อตอนเรียกใช้ก็จะต้องส่ง Token เข้าไปด้วยเช่นกัน

ยกตัวอย่างตอนเรียกใช้เช่น Call LineNotify("ทดลอง",t1) โดย t1 คือ Token ใด ๆ ที่ต้องการส่งเข้าไปให้กับ Procedure LineNotify ครับ

และต้องแก้ไข LineToken = "Your token" เป็น LineToken = tk

Re: สอบถามวิธีเพิ่ม line token หน่อยครับ

Posted: Mon Jul 13, 2020 1:56 am
by puayoh
ขอโทษครับพอดีผมยังงงๆอยู่ครับ รบกวนอาจาร์ยช่วยแก้ให้ดูหน่อยได้ไหมครับ

Re: สอบถามวิธีเพิ่ม line token หน่อยครับ

Posted: Mon Jul 13, 2020 2:04 am
by puayoh
อันนี้คือที่ผมลองแก้ดู แต่รันไม่ได้ครับ
snasui wrote: Sun Jul 12, 2020 9:20 am :D ปรับ Procedure Sub LineNotify(msg As String, Optional stickID As Integer, Optional stickPack As Integer) โดยเพิ่ม Parameter ให้รับ Token เข้าไปด้วย เช่น Sub LineNotify(msg As String, tk as string, Optional stickID As Integer, Optional stickPack As Integer)

และเมื่อตอนเรียกใช้ก็จะต้องส่ง Token เข้าไปด้วยเช่นกัน

ยกตัวอย่างตอนเรียกใช้เช่น Call LineNotify("ทดลอง",t1) โดย t1 คือ Token ใด ๆ ที่ต้องการส่งเข้าไปให้กับ Procedure LineNotify ครับ

และต้องแก้ไข LineToken = "Your token" เป็น LineToken = tk

Code: Select all

Sub test_noti()
Call LineNotify("ทดลอง", "P4KXtcORcFnpXuZKUZj6NUGPPSFvLMVtM8YzDf8RTqT")
Call LineNotify("เทพ excel")
End Sub


Sub LineNotify(msg As String, tk As String)

Dim LineToken As String
Dim lineMessage As String
Dim objectXML As Object
Dim URL As String

'========================================

'Line Notify Token ที่ Generate มา
LineToken = tk
'========================================

'Line Message
yourMessage = msg

lineMessage = "message=" & yourMessage

'========================================
'เพิ่มเงื่อนไข Sticker
If stickPack = 0 Or stickID = 0 Then
Else
lineMessage = lineMessage & "&stickerPackageId=" & stickPack & "&stickerId=" & stickID
End If
'========================================

Set objectXML = CreateObject("Microsoft.XMLHTTP")
URL = "https://notify-api.line.me/api/notify"
With objectXML
    .Open "POST", URL, 0
    .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .SetRequestHeader "Authorization", "Bearer " & LineToken
    .send (lineMessage)
    Debug.Print objectXML.responseText
End With

Set objectXML = Nothing

End Sub

Re: สอบถามวิธีเพิ่ม line token หน่อยครับ

Posted: Mon Jul 13, 2020 7:00 am
by snasui
:D กรุณาแจ้ง Error พร้อมแนบไฟล์ที่เป็นปัญหานั้นมาด้วยจะได้ช่วยดูให้ได้ครับ

เบื้องต้น Statement นี้จะเกิด Error เพราะระบุส่วนประกอบไม่ครบครับ :arrow: Call LineNotify("เทพ excel")

Re: สอบถามวิธีเพิ่ม line token หน่อยครับ

Posted: Mon Jul 13, 2020 3:11 pm
by puayoh
snasui wrote: Mon Jul 13, 2020 7:00 am :D กรุณาแจ้ง Error พร้อมแนบไฟล์ที่เป็นปัญหานั้นมาด้วยจะได้ช่วยดูให้ได้ครับ

เบื้องต้น Statement นี้จะเกิด Error เพราะระบุส่วนประกอบไม่ครบครับ :arrow: Call LineNotify("เทพ excel")
ผมลองทำการเพิ่ม tokenที่2 เข้าไปแล้วครับ แต่มีเพียง tokenที่2 ที่ได้รับการแจ้งเตือนครับ tokenที่1 ไม่ได้รับการแจ้งเตือนครับ
ไม่ทราบว่าเป็นเพราะอะไรครับ

Code: Select all

Sub test_noti()
Call LineNotify("ทดลอง", "token 1", "token 2")
End Sub


Sub LineNotify(msg As String, tk1 As String, tk2 As String)

Dim LineToken As String
Dim lineMessage As String
Dim objectXML As Object
Dim URL As String

'========================================

'Line Notify Token ที่ Generate มา
LineToken = tk1
LineToken = tk2
'========================================

'Line Message
yourMessage = msg

lineMessage = "message=" & yourMessage

'========================================
'เพิ่มเงื่อนไข Sticker
If stickPack = 0 Or stickID = 0 Then
Else
lineMessage = lineMessage & "&stickerPackageId=" & stickPack & "&stickerId=" & stickID
End If
'========================================

Set objectXML = CreateObject("Microsoft.XMLHTTP")
URL = "https://notify-api.line.me/api/notify"
With objectXML
    .Open "POST", URL, 0
    .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .SetRequestHeader "Authorization", "Bearer " & LineToken
    .send (lineMessage)
    Debug.Print objectXML.responseText
End With

Set objectXML = Nothing

End Sub

Re: สอบถามวิธีเพิ่ม line token หน่อยครับ

Posted: Mon Jul 13, 2020 6:53 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

ให้แยก Call LineNotify("ทดลอง", "token 1", "token 2") เป็น 2 บรรทัด คือ

Call LineNotify("ทดลอง", "token 1")
Call LineNotify("ทดลอง", "token 2")

เมื่อเรียก Procedure test_noti() Code จะ Run ทั้ง 2 บรรทัด ในกรณีที่มี Token เป็นจำนวนมาให้ใช้การ Loop เข้ามาช่วยครับ

แก้ LineNotify ให้เหลือ 2 Parameter คือ Sub LineNotify(msg As String, tk1 As String)

ส่วนของ Tokent ปรับให้เหลือแค่ LineToken = tk1