Delphi Component Line Notify version 1
หลายท่านของเคยได้ยิน หรือบางท่านอาจจะเคยเขียนโปรแกรมเพื่อใช้ Line Notify แล้วก็เป็นได้
ดังนั้น ผมจะไม่ขอกล่าวถึงว่า LINE Notify นั้นคืออะไร มี Service นี้ไว้เพื่ออะไรนะครับ
สำหรับท่านที่เป็น Delphi Programmer , Delphi Developer
และท่านกำลังมองหา Delphi component ที่เอาไว้ ใช้เพื่อส่งข้อความเข้าไป Line notify service
แล้วละก็ให้ท่านลองอ่าน เนื้อหาข้างล่างดูครับ
สมมุติว่าพัฒนา Component เสร็จแล้วเพียงพอสำหรับการทดสอบ
Component ทำอะไรได้บ้าง
แน่นอน เราจะส่ง ข้อความไป LINE Notify API
ดังนั้น อันดับแรก ความสามารถในการส่งข้อความก็จะต้องมี
... ซึ่งข้อความที่ว่า จะส่งได้ครั้งละ 1000 ตัวอักษรนะครับ อ้างอิงจาก Doc.
...และตัว Component สามารถส่งอะไรได้อีก ล่ะ
ลองดูว่าทำอะไรได้บ้าง นอกจากส่งข้อความ
ตัวอย่าง
การส่ง Message ผ่าน Component
imageThumbnail, imageFullsize
การส่ง Sticker
stickerPackageId, stickerId
การส่งไฟล์จากคอมพิวเตอร์
imageFile
ตามไปอ่าน Doc. ฉบับเต็มได้ที่ Line notify document
เงื่อนไขของ LINE Notify API
เนื่องจากใช้ Line notify ในรูปแบบของการทดสอบ (Developer Trial)
ทดลองเอา Component สร้าง Application เล็ก ๆ เพื่อทดสอบโปรแกรมดูหน่อย
ดูภาพประกอบ
ได้วาง Component ลงไป 1 ตควบน form
Properties ต่าง ๆ ผมจะไม่กำหนดเลยนะ จะไปกำหนดในโปรแกรมทั้งหมดเลย
อย่างที่กรึ่นนำไปตอนต้น ๆ คนที่อ่านมาจนถึงตรงนี้
นั้นแปลกว่า ท่าน ๆ ทราบแล้วว่า Line Notify คืออะไร ทำงานอย่างไร
และเราต้องทำอะไรบ้าง เช่น
การไปขอ Access Token
การ เพิ่ม Line Notify ให้เป็นเพื่อนกับเรา
เหล่านี้ผมถือว่าท่านทราบแล้วนะครับ :)
สมมุติว่าพัฒนาโปรแกรมเสร็จแล้วนะ (โปรแกรมเมอร์เทพเกิ๊น....)
ลองรันโปรแกรมกันเลย
ก่อนอื่นเราต้องไปหา Access Token กันก่อน
ให้คลิก ที่ Authorization config... ด้านขวาบน
ติดไว้ 1 เรื่องยังไม่มีเวลาทดสอบบน Android หรือ Mac เอาไว้จะมาเขียนต่อนะครับ
Download demo
Line: mesa.d
Email: samrids@gmail.com
หลายท่านของเคยได้ยิน หรือบางท่านอาจจะเคยเขียนโปรแกรมเพื่อใช้ Line Notify แล้วก็เป็นได้
ดังนั้น ผมจะไม่ขอกล่าวถึงว่า LINE Notify นั้นคืออะไร มี Service นี้ไว้เพื่ออะไรนะครับ
สำหรับท่านที่เป็น Delphi Programmer , Delphi Developer
และท่านกำลังมองหา Delphi component ที่เอาไว้ ใช้เพื่อส่งข้อความเข้าไป Line notify service
แล้วละก็ให้ท่านลองอ่าน เนื้อหาข้างล่างดูครับ
... ที่ประเทศไทย อะไร ๆ ก็ เต็มไปด้วย Line ไปทางไหนก็ได้ยินคำว่า Line
อะไร ๆ ก็ Line บลา ๆ
งั้นผมก็จะ LINE LINE กันบ้างละครับ
... ผมเขียนโปรแกรมด้วย Delphi เป็นหลัก ดังนั้นก็เลยเขียนเป็น Component ดูเพื่อง่ายต่อการนำไปใช้งาน
งั้นผมก็จะ LINE LINE กันบ้างละครับ
... ผมเขียนโปรแกรมด้วย Delphi เป็นหลัก ดังนั้นก็เลยเขียนเป็น Component ดูเพื่อง่ายต่อการนำไปใช้งาน
AwaraLineNotify Delphi component |
สมมุติว่าพัฒนา Component เสร็จแล้วเพียงพอสำหรับการทดสอบ
Component มี Properties อะไรไบ้าง
อธิบายผ่านรูปภาพด้านล่างนี้ละกันเขียนบรรยายไม่ค่อยเก่ง
อธิบายผ่านรูปภาพด้านล่างนี้ละกันเขียนบรรยายไม่ค่อยเก่ง
AwaraLineNotify Properties |
Component ทำอะไรได้บ้าง
แน่นอน เราจะส่ง ข้อความไป LINE Notify API
ดังนั้น อันดับแรก ความสามารถในการส่งข้อความก็จะต้องมี
... ซึ่งข้อความที่ว่า จะส่งได้ครั้งละ 1000 ตัวอักษรนะครับ อ้างอิงจาก Doc.
...และตัว Component สามารถส่งอะไรได้อีก ล่ะ
จาก Document สามารถส่งได้อีกหลาย อย่างเลยครับ
ดังภาพ (Capture มาบางส่วน)
Request parameters |
ลองดูว่าทำอะไรได้บ้าง นอกจากส่งข้อความ
ตัวอย่าง
การส่ง Message ผ่าน Component
ตัวอย่างกำหนด Properties Text ผ่าน TMemo Component
และจะใช้ Method SendMessage; ในการส่งข้อความ
ด้านล่างนี้เป็นตัวอย่าง การใช้งาน Component ส่งข้อความผ่าน Procedure SendMessage
และจะใช้ Method SendMessage; ในการส่งข้อความ
ด้านล่างนี้เป็นตัวอย่าง การใช้งาน Component ส่งข้อความผ่าน Procedure SendMessage
How to Send a message with Line notify. |
การส่ง Image ผ่าน http, https, URL
imageThumbnail, imageFullsize
ตัวนี้เอาไว้ส่ง image ที่เป็น Link (HTTP/HTTPS URL)
การส่ง Sticker
stickerPackageId, stickerId
สองตัวนี้ใช้คู่กันในการส่ง Sticker ผ่าน Component
โดยต้องระบุ Sticker Package ID
การส่งไฟล์จากคอมพิวเตอร์
imageFile
ตัวนี้เอาไว้ส่งภาพจาก เครื่องคอมพิวเตอร์ โดย Component จะ upload ไฟล์ไปบน Line Server
ตามไปอ่าน Doc. ฉบับเต็มได้ที่ Line notify document
สถานะการส่งข้อความ
หลังจากส่งข้อมูลขึ้นไปบน Server แล้ว
หลังจากส่งข้อมูลขึ้นไปบน Server แล้ว
Component ได้มีข้อความแจ้งเตือนหรือส่ง Status อะไรแจ้งกลับมาบ้าง
ตอบว่ามี ...
โดย Component สามารถ Response ค่าได้ต่าง ๆ ได้ดังนี้
StatusCode: Integer
StatusText: String
ResponseHeader: TStrings
ResponseContent: TStrings
โดยส่ง ผ่าน Event ที่ชื่อ OnAfterSendMessage ดังภาพ
ตอบว่ามี ...
โดย Component สามารถ Response ค่าได้ต่าง ๆ ได้ดังนี้
StatusCode: Integer
StatusText: String
ResponseHeader: TStrings
ResponseContent: TStrings
โดยส่ง ผ่าน Event ที่ชื่อ OnAfterSendMessage ดังภาพ
Component Response Event |
เงื่อนไขของ LINE Notify API
เนื่องจากใช้ Line notify ในรูปแบบของการทดสอบ (Developer Trial)
จึงมี Limits การใช้งาน ซึ่งจะส่งได้ 1000 request/min
ทดลองเอา Component สร้าง Application เล็ก ๆ เพื่อทดสอบโปรแกรมดูหน่อย
ดูภาพประกอบ
ได้วาง Component ลงไป 1 ตควบน form
Properties ต่าง ๆ ผมจะไม่กำหนดเลยนะ จะไปกำหนดในโปรแกรมทั้งหมดเลย
อย่างที่กรึ่นนำไปตอนต้น ๆ คนที่อ่านมาจนถึงตรงนี้
นั้นแปลกว่า ท่าน ๆ ทราบแล้วว่า Line Notify คืออะไร ทำงานอย่างไร
และเราต้องทำอะไรบ้าง เช่น
การไปขอ Access Token
การ เพิ่ม Line Notify ให้เป็นเพื่อนกับเรา
เหล่านี้ผมถือว่าท่านทราบแล้วนะครับ :)
Line notify main screen |
สมมุติว่าพัฒนาโปรแกรมเสร็จแล้วนะ (โปรแกรมเมอร์เทพเกิ๊น....)
ลองรันโปรแกรมกันเลย
Run Line Notify Application |
ก่อนอื่นเราต้องไปหา Access Token กันก่อน
ให้คลิก ที่ Authorization config... ด้านขวาบน
คลิกกันเลย
ในภาพบอกว่า Get Access from https://notify-bot.line.me/en/
คลิกที่ Link บนโปรแกรมเลย
จากนั้นทำการ Login เข้าระบบ
ด้วย Email, password ของเราที่ได้ Register ไว้กับ Line
และเข้าไปที่ My page มองหา Generate token ดังภาพ
การออก Access Token สามารถเลือกได้ 2 แบบคือ
1-on-1 (Chat with LINE Notify)
และ การออก Access Token สำหรับกลุ่ม
Access Token settig |
ในภาพบอกว่า Get Access from https://notify-bot.line.me/en/
คลิกที่ Link บนโปรแกรมเลย
จากนั้นทำการ Login เข้าระบบ
ด้วย Email, password ของเราที่ได้ Register ไว้กับ Line
และเข้าไปที่ My page มองหา Generate token ดังภาพ
Generate access token (For developers) |
การออก Access Token สามารถเลือกได้ 2 แบบคือ
1-on-1 (Chat with LINE Notify)
และ การออก Access Token สำหรับกลุ่ม
(อันนี้ต้อง Add LINE Notify เข้าไปในกลุ่มนั้น ๆ ด้วย)
ผมเลือกการออก Access Token แบบ 1 : 1 ก็แล้วกันเพื่อทดอสบ
คลิก ๆ ได้ Access มาแล้ว จดไว้ด้วยก็ดีนะ กันเหนียว
จากนั้น Copy แล้วเอามาใส่ในโปรแกรมที่นอนรออยู่นานแล้ว (กด OK)
ทดสอบ
ทดสอบกันดีกว่า มันส่งข้อความมั้ย ?
ส่งข้อความได้ แต่จะลองส่ง Image from file
โดย Browse file จากเครื่อง กดที่ Request (Optional)
กดปุ่ม ... เพื่อ Browse หาไฟล์ภาพในคอมพิวเตอร์
และกด OK
ทดสอบกันเลยกดปุ่ม Send ( ใน Document ของ Line ระบุไว้ว่าทุกครั้งที่ส่ง อะไรก็ตาม
เค้าบอกว่าต้องส่ง Message ไปด้วยเสมอ อันนี้ลองหาอ่านดูกันเน้อครับ)
ทดสอบส่ง Sticker, Image From URL, Image From File
กดเข้าไปที่เดิม Request (Optional)
แล้วกำหนดค่า ต่าง ๆ ให้ครบ และกด SEND ดูใหม่
ดูสถานะการส่ง
Component Return Status มาให้ 3 แบบ
โดยตอบกลับมาผ่าน Event OnAfterSendMessage (ดูที่ด้านบนของ Blog)
ดังภาพ
ทดสอบ Multi-Devices Application
ผมเลือกการออก Access Token แบบ 1 : 1 ก็แล้วกันเพื่อทดอสบ
คลิก ๆ ได้ Access มาแล้ว จดไว้ด้วยก็ดีนะ กันเหนียว
จากนั้น Copy แล้วเอามาใส่ในโปรแกรมที่นอนรออยู่นานแล้ว (กด OK)
LINE Notify Access Token |
ทดสอบ
ทดสอบกันดีกว่า มันส่งข้อความมั้ย ?
Test send message |
ส่งข้อความได้ แต่จะลองส่ง Image from file
โดย Browse file จากเครื่อง กดที่ Request (Optional)
กดปุ่ม ... เพื่อ Browse หาไฟล์ภาพในคอมพิวเตอร์
และกด OK
ทดสอบกันเลยกดปุ่ม Send ( ใน Document ของ Line ระบุไว้ว่าทุกครั้งที่ส่ง อะไรก็ตาม
เค้าบอกว่าต้องส่ง Message ไปด้วยเสมอ อันนี้ลองหาอ่านดูกันเน้อครับ)
Delphi Component Browse image from computer |
Test send image from file |
ทดสอบส่ง Sticker, Image From URL, Image From File
กดเข้าไปที่เดิม Request (Optional)
แล้วกำหนดค่า ต่าง ๆ ให้ครบ และกด SEND ดูใหม่
Add multiple parameters |
Test send multiple parameters |
ดูสถานะการส่ง
Component Return Status มาให้ 3 แบบ
โดยตอบกลับมาผ่าน Event OnAfterSendMessage (ดูที่ด้านบนของ Blog)
ดังภาพ
Return Status Message (Header) |
Return Status Message (Content) |
Return Status (Code, Description) |
Delphi LINE Notify (Multi-Devices Application) |
Delphi LINE Notify (Multi-Devices Application) Test Run |
ติดไว้ 1 เรื่องยังไม่มีเวลาทดสอบบน Android หรือ Mac เอาไว้จะมาเขียนต่อนะครับ
Download demo
Line: mesa.d
Email: samrids@gmail.com
Good Job .
ReplyDeleteThank man.
DeleteExcellent!! Where can I get this component? Is it free?
ReplyDeleteขอบคุณครับ
ReplyDelete