Tags:
Forums: 

พอดีว่าผมได้ไปสมัครใช้งาน LINE Developers BOT API แล้ว
พอมาพัฒนาด้วย Ruby แล้วก็ยังงงอยู่เลยครับ ไปไม่ถูกครับ
คือไม่ได้งง กับภาษา Ruby แต่งงงกับ วิธีการทำงานของ LINE Developers BOT API (หรือเปล่า 555)
เลยจะมาขอรบกวนในบอร์ดนี้ ดังนี้ครับ
1. ผมสมัคร LINE Developers BOT API เรียบร้อยแล้ว ได้ account และ key ต่างๆ มาเรียบร้อยแล้ว
2. ผมลงทะเบียน Callback แล้ว
3. ผม dowload Ruby SDK มาติดตั้ง เรียบร้อยแล้ว
4. ลอง run example ดู ปรากฏว่า run ได้ ทำงานได้
ผมลองเปิด browser ตาม port ที่ run ขึ้นมา http://127.0.0.1:4567 แล้วก็ขึ้นคำว่า helloworld ขึ้นมา
พอดูใน code มีการรับค่า post ไว้ที่ /callback ก็ลอง post ข้อมูลเข้าไป แต่ไม่ได้อะไรตอบรับกลับมา
5. ผมลองเขียนโค๊ดเพิ่มในไฟล์ example ส่วนที่เป็น get ก็มีข้อมูลขึ้นมาครับ

สรุปความเข้าใจผมคือใช่แบบนี้ใช่ไหมครับ
1. การ run example ขึ้นมาคือ เป็นการ run server จำลองขึ้นมาเพื่อเขียน code ส่งข้อความ และรับข้อความ (line จะส่งข้อมูลกลับมาให้ที่ /callback) ใช่ไหมครับ
แล้วก็ผมก็ยังงงกับส่ง ของการส่งข้อความ ผมจะไปค้นหา to_mid ตัวนี้ได้จากไหนครับ

client.send_text(
to_mid: to_mid,
text: 'Hello',
)

2. ผมจะ setup อย่างไรให้ webserver รับค่า port 443 (ปกติบน server ใช้งานกับ IIS ซึ่งconfig ssl ไว้แล้ว) ให้มาจับคู่กับ http://127.0.0.1:4567 (เกิดจากการ run ruby code) ได้อย่างไรครับ

รบกวนทุกๆท่านด้วยครับ

Get latest news from Blognone
By: kicito on 31 May 2016 - 14:53 #916119

ผมไม่มีประสบการณ์กับ Ruby และ IIS เลยครับ แต่เคยเล่น LineBot API มานิดหน่อย จะลองขอตอบดูนะครับ

  1. ผมจะไปค้นหา to_mid ตัวนี้ได้จากไหนครับ

ตัว to_mid จะเป็น Array ของ User ที่ต้องการจะส่งข้อมูลไปหา ซึ่งจะเป็นค่าที่ได้เมื่อ server ส่งข้อมูลมาให้ (หรืออาจจะมีวิธีอื่นอีก แต่ผมไม่ทราบครับ)

ตัวอย่างข้อมูลที่ทาง LINE จะส่งมาหา Server จะมี Format ดังนี้ครับ

{"result":[
  {
    "from":"u2ddf2eb3c959e561f6c9fa2ea732e7eb8",
    "fromChannel":"1341301815",
    "to":["u0cc15697597f61dd8b01cea8b027050e"],
    "toChannel":1441301333,
    "eventType":"138311609000106303",
    "id":"ABCDEF-12345678901",
    "content": {
      "location":null,
      "id":"325708",
      "contentType":1,
      "from":"uff2aec188e58752ee1fb0f9507c6529a",
      "createdTime":1332394961610,
      "to":["u0a556cffd4da0dd89c94fb36e36e1cdc"],
      "toType":1,
      "contentMetadata":null,
      "text":"Hello, Business Connect Server!"
    }
  },
  ...
]}

จาก json ด้านบนหมายถึง server ส่งข้อมูลมาโดยข้อมูลช่อง content เป็นข้อมูลของ client ที่ส่งมาหา server line อีกที ดังนั้นในกรณีนี้ หากต้องการให้ส่งข้อมูลตอบกลับไปให้ mid ที่ต้องใส่คือค่า result.content.from หรือ 'uff2aec188e58752ee1fb0f9507c6529a' ครับ

  1. ผมจะ setup อย่างไรให้ webserver รับค่า port 443 (ปกติบน server ใช้งานกับ IIS ซึ่งconfig ssl ไว้แล้ว) ให้มาจับคู่กับ http://127.0.0.1:4567 (เกิดจากการ run ruby code) ได้อย่างไรครับ

ลองหาอ่านเรื่อง serivce url rewrite ของ iss ดูครับ
http://weblogs.asp.net/owscott/creating-a-reverse-proxy-with-url-rewrite-for-iis

การพัฒนา LineBot ที่สำคัญอย่างแรกน่าจะเป็นการหา SSL ที่ Line server ยอมส่ง Request มาหานะครับ
ผมว่าขั้นแรกน่าจะเป็นการลอง log ข้อมูลที่ server line ส่งออกมาให้ได้ก่อน

ขอให้โชคดีครับ

อ้างอิง
Line Bot API Ref

By: khao_lek on 1 June 2016 - 08:52 #916285 Reply to:916119

ขอบคุณมากๆ ครับ ตอนนี้รับข้อมูลจาก line ได้แล้วครับ เท่ากับว่าข้อ 1 ผมผ่านแล้ว เย้ๆๆๆ
แต่ตอนนี้ติดปัญหาการส่งกลับ 555 กำลังหาทางอยู่
ส่วนข้อที่ 2 นี้ก็ได้แล้วครับ

By: pangtopup on 28 June 2016 - 16:07 #922450 Reply to:916285

ตอนนี้ผมติดอยู่ตรงการรับข้อมูล Callback จาก Line เนื่องจาก Line ต้องการ SSL ตามรายชื่อที่ line กำหนดไว้
ไม่ทราบว่าที่ทำได้แล้ว ทำยังไงครับ ต้องลง SSL ตามที่ Line กำหนดก่อนหรือเปล่า เนื่องจากตอนนี้ผมสามารถส่ง
ได้แล้ว ติดเพียงแค่การรับ Callback จาก Line ครับ

By: vezirugubo on 4 October 2018 - 02:52 #1074262

Visit the Nike Store survey portal at www.MyNikeVisit-na.com and input all the required information and begin your survey. mynikevisit
nike visit
nike visit na