Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LINE Bot 開発 基本編

LINE Bot 開発 基本編

LINE Developer Group Kansai 勉強会 vol.1 でのLINE Bot 開発ハンズオン資料
https://ldgk.connpass.com/event/135165/

55c9804c185f493816433678393cbe92?s=128

sumihiro3

June 22, 2019
Tweet

Transcript

  1. -*/&#PU։ൃ جຊฤ -*/&%FWFMPQFS(SPVQ,BOTBJ ษڧձ WPM BUؔ੢େֶϛϥΠζ  4VNJIJSP ,BHBXB

  2. ຊ೔ͷࢿྉ n   URL   IUUQCJUMZMEHLCPUIBOETPOWPM 

  3. ຊ೔ͷΞδΣϯμ n n LINE Developer Group Kansai l n l

    LINE l 1 3 Bot l 2 Bot
  4. ࣗݾ঺հ

  5. Ճ઒ ੅ኍʢ͔͕Θ ͢ΈͻΖʣ n ॴଐ l ג $PNQBTT $50 l

    ϐʔεϛʔϧɾςΫϊϩδʔ ג γχΞۀ຿ΞφϦετ n ड৆ྺͳͲ l -*/&"1*&YQFSU l -*/&$MPWB 4LJMM"XBSETʮࢠͲ΋͕࢖͍ͨ͘ͳΔεΩϧʯ࠷༏ल৆ l -*/&%FWFMPQFSPGUIF.POUI l -*/&#005"8"3%4ϑΝϛϦʔ෦໳৆ l -*/&5IJOHTϋοΧιϯ -*/&৆ ଞ 
  6. ͜Μͳਓ n ʮϓϦϯλʔͷਓʯ l 6

  7. ࢓ࣄͰ-*/&#PUͷ։ൃ΋͍ͯ͠·͢ 

  8. ʲ߽՚ʳ αϙʔτϝϯόʔ

  9. ࣗݾ঺հʢ͕͓·Δʣ ॴଐɿגࣜձࣾΞΠΤϯλʔɹେࡕࢧళ ɹɹɹ3%ɹ೥ೖࣾ ɹɹɹεϚʔτεϐʔΧʔΤόϯδΣϦετ ɹɹɹ-*/&"1*&YQFSU ۀ຿ɿΧʔϦϯάࢧԉπʔϧ։ൃ ɹɹɹεϚʔτεϐʔΧʔݚڀ։ൃ ɹɹɹ"84ݚڀ։ൃ ߴഅɹ޺య !HBPNBS

    ޷͖ͳݴ༿ɿͶ͐$MPWB ͔ͨ͏·ɹͻΖͷΓ
  10. εϚʔτεϐʔΧʔΞϓϦ։ൃೖ໳ େ޷ධൃചதʂ

  11. A B O U T M E Takuya Kanatani @torisankanasan

    KDL Inc. ৽ٕज़׆༻ਪਐ൝ Ϧʔμʔ Honde Next ڞಉ୅ද LINE API Expert (‘19~)
  12. -*/&%FWFMPQFS(SPVQ,BOTBJMEHL 

  13. MEHL ࠓޙͷษڧձ༧ఆ  ೔ఔ ಺༰ ৔ॴ ʢ໦ʣ ʙ -*''ʢ-*/&'SPOUFOE'SBNFXPSLʣ Ͱ#PU

    ͷ6* ΛϦονʹ͢Δ ʙ7VFKT Ͱ-*'' Λ։ൃ͠Α͏ʂʙ ͘͞ΒΠϯλʔωοτ ʢ౔ʣ -*/&#PU։ൃ جૅฤ ʢ ճͷ࠶ԋʣ େࡕ"5$ ϝΠΧʔζόβʔϧಛઃձ৔ ʢ೔ʣ $MPWB ։ൃ େࡕ"5$ ϝΠΧʔζόβʔϧಛઃձ৔ ݄༧ఆ -*/&1BZ"1* ௐ੔த ݄༧ఆ -5େձ ˞߽՚ήετ͕དྷΔ͔΋ ௐ੔த
  14. -*/&Λ࢖͏ ϝϦοτ

  15. / % 1 ), + % ), + ( ˞ʰ೥݄ߋ৽ʂ

    ͷιʔγϟϧϝσΟΞ࠷৽ಈ޲σʔλ·ͱΊʱΑΓҾ༻ IUUQTHBJBYTPDJBMNFEJBMBCKQQPTU GCDMJE*X"3-BHE0*O%X$V487F991PXM75;:0L1N8SI2-3@&P9$@F$H
  16. Πϯετʔϧ͞Εͳ͍໰୊؇࿨

  17. ϓογϡ௨஌

  18. σβΠϯ޻਺ݮ

  19. Φεεϝɾ֦ࢄ

  20. ຒ΋Εͳ͍

  21. ແྉͰଟ͘ͷػೳར༻Մೳ ௿ྉۚͰͷεϞʔϧελʔτ΋Մೳ

  22. • Πϯετʔϧোน͕௿͍ • ϝοηʔδ͕ಧ͖΍͍͢ • ಉ͡ػೳͰ΋։ൃ޻਺͕ஈҧ͍ • Φεεϝ֦ࢄͯ͠΋Β͍΍͍͢ • ͨ͘͞ΜೖΕͯ΋ຒ΋Εͳ͍

    • ແྉͰ΋ଟػೳˍ௿ྉ͔ۚΒ
  23. ୈ෦ Φ΢Ϝฦ͠#PU ͷ։ൃ 

  24. ୈ෦ͷྲྀΕ n LINE Bot n 2 2 4 n LINE

    Developers Bot n
  25. -*/& #PU ͷ։ൃ؀ڥ nLINE APIs n nSDKs 

  26. ։ൃ؀ڥɿ-*/& "1*T n LINE Messaging API l 2 Ø 

     Ø Push Message Ø FlexMessage Ø LIFF-*NE 'rontend 'ramework  UI/UX  n LINE Login l 6 n LINE Pay l ˞ #PU ։ൃͰΑ͘࢖ΘΕΔ"1* Λൈਮ
  27. ։ൃ؀ڥɿαʔόʔˍ4%,T n 7 2 l Ø https 4'0- - ,#.

    * 1% - $! ngrok (&PC6" l Ø /5)2 Messaging API & SDK  - Java, PHP, Go, Perl, Ruby, Python, Node.js - +3  SDK   ˞ࢀߟɿIUUQTEFWFMPQFSTMJOFCJ[KBEPDTNFTTBHJOHBQJMJOFCPUTEL
  28. OHSPLʢΤψδʔϩοΫΤϯάϩοΫʣ ͱ͸ʁ n 8PC 2 8

  29. ຊϋϯζΦϯͰͷγεςϜߏ੒ਤ -*/&.FTTBHJOH"1*

  30. ୈ෦Ͱ࡞ΔΞϓϦ n 0 Bot l 3 Ø  Ø 

    Ø  Ø  Ø
  31. ։ൃ؀ڥͷ֬ೝ n Node.js l 1 3 $

  32. αϯϓϧϓϩάϥϜͷμ΢ϯϩʔυ n Github     l Mac/Linux l

    Windows 31 .1 / .1 / . - / & . /: 3 :3 / - / $ . - / $ 31 & 3 .1 / .1 / . - / & . /: 3 :3 / - / $ . - / $ ΫϩʔϯઌͷσΟϨΫτϦ͸೚ҙ 
  33. ϓϩάϥϜʹඞཁͳϞδϡʔϧΛΠϯετʔϧ $ $ 

  34. OHSPL ͷىಈ n ngrok l 4 3 Ø Ngrok 

      3 - /0$ 00-
  35. OHSPL ͷىಈ n  RS1C E 2 E 2 S

    C 7 C S7 SSSSSSSSSSSSSSSS EC SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 7 C S3 IC SSSSSSSSSSSSSSS,S S+.SFC SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 8I> SSSSSSSSSSSSSSSSSSSSSSSS I> S CE E S C S( ) (. S2 E 8S S I> 9 C SSSSSSSSSSSSSSSSSSSSSSS( ) -SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS C SSSSSSSSSSSSSSSSSSSSSSSS8 C >S7 S SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS : S5 @ SSSSSSSSSSSSSSSSS I/ (, / SSSSSSSSSSSSSSSSSSSSSSSSSSSSS 4 >C SSSSSSSSSSSSSSSSSSSS I/ C 0S I/ E E /) S 4 >C SSSSSSSSSSSSSSSSSSSS I / C 0S I/ E E /) 2 C SSSSSSSSSSSSSSSSSSS E I SSSSS +SSSSSI+ SSSSSI. SSSSSSS SSSSSSS SSSSSSS SSSS SSSS SSSS S 63-ΛϝϞ͓ͯ͘͠ 
  36. -*/&%FWFMPQFST΁ΞΫηε https://developers.line.biz/ja/services/messaging-api/ 

  37. -*/&%FWFMPQFST΁ϩάΠϯ LINE    

  38. -*/&%FWFMPQFST΁ϩάΠϯ       

  39. ϓϩόΠμʔͷ࡞੒ 3

  40. νϟωϧͷొ࿥    

  41. νϟωϧͷొ࿥     

  42. νϟωϧͷొ࿥   

  43. νϟωϧͷొ࿥   

  44. ! νΣοΫϙΠϯτ Bot      Ͱ͖ͯͳ͍ํ͸ڍखʂ 

  45. νϟωϧͷجຊઃఆ 

  46. νϟωϧͷجຊઃఆ 

  47. $IBOOFM4FDSFU ΛϝϞ n 7 4

  48. ΞΫηετʔΫϯ ͷൃߦ n 4

  49. ΞΫηετʔΫϯΛϝϞ n     

  50. 8FCIPPL Λઃఆ n Webhook    

  51. 8FCIPPL 63-Λઃఆ n Webhook URL ngrok URL + “/linebot” 

    63-๯಄ͷ zIUUQTz͸ೖྗෆཁ 
  52. ࣗಈԠ౴ϝοηʔδΛ0'' ʹ͢Δ n LINE Official Account Manager  

  53. ࣗಈԠ౴ϝοηʔδΛ0'' ʹ͢Δ n LINE Official Account Manager  

  54. ϝϞ͓͍ͯͨ͠ઃఆΛɺઃఆϑΝΠϧʹهೖ͢Δ n .env     LNE HKC O

    // LNE / A / . BBBBBBBBBBBB =: E . / . AA #""BBBBBBB =: = 
  55. ϓϩάϥϜΛىಈ n       $ 

  56. #PUΛ༑ͩͪొ࿥͢Δ n QR    

  57. #PUʹϝοηʔδΛૹͬͯΈΑ͏ n      

  58. ! νΣοΫϙΠϯτ  Bot   Ͱ͖ͯͳ͍ํ͸ڍखʂ 

  59. ٳܜ ʢ෼ʣ

  60. ୈ෦ ΫΠζ#PU ͷ։ൃ 

  61. ୈ෦ͷྲྀΕ n Bot n Bot n FlexMessage n 1 6

    n n FlexMessage
  62. ୈ෦Ͱ࡞ΔΞϓϦ n Bot l 3 5 l 6 l 6

    2 ˞ຊ#PU Ͱग़୊͢ΔΫΠζ໰୊͸ʮࡶֶ͔͔͠͡ʢIUUQTQFEBOUDPNʣʯΑΓҾ༻͍ͯ͠·͢
  63. ॲཧͷྲྀΕʢલ൒ʣ 

  64. ॲཧͷྲྀΕʢޙ൒ʣ 

  65. 'MFY.FTTBHF ͱ͸ n 6 5 l Ø PCLINE  

      ˞ৄ͘͠͸ެࣜ%PDΛࢀর ˞ IUUQTEFWFMPQFSTMJOFCJ[KBEPDTNFTTBHJOHBQJVTJOHGMFYNFTTBHFT
  66. 'MFY.FTTBHF 4JNVMBUPS n Simulator   l JSON OK 

    ˞ IUUQTEFWFMPQFSTMJOFCJ[DPOTPMFGY
  67. Ϧονϝχϡʔͷઃఆ n 6 l https://manager.line.biz/

  68. Ϧονϝχϡʔͷઃఆ n     

  69. Ϧονϝχϡʔͷઃఆ n   

  70. Ϧονϝχϡʔͷઃఆ n     

  71. Ϧονϝχϡʔͷઃఆ n    

  72. Ϧονϝχϡʔͷઃఆ n   

  73. Ϧονϝχϡʔͷઃఆ n 3 7 l 7 3 TextMessage

  74. Ϧονϝχϡʔͷઃఆ n   l    ”/static/quiz_rich_menu.png” 

     
  75. Ϧονϝχϡʔͷઃఆ n   

  76. Ϧονϝχϡʔͷઃఆ n    OK 

  77. ! νΣοΫϙΠϯτ   Ͱ͖ͯͳ͍ํ͸ڍखʂ 

  78. ϓϩάϥϜΛىಈ n l 8 7 $

  79. ΫΠζ#PU Λىಈ n       

  80. ! νΣοΫϙΠϯτ Bot   Ͱ͖ͯͳ͍ํ͸ڍखʂ 

  81. 'MFY.FTTBHF Λ࢖ͬͨϝοηʔδΛૹͬͯΈΑ͏ n 8 FlexMessage 1 l 1 Ø 

    &!$'% Ø   # Ø  "SNS #
  82. 'MFY.FTTBHF Λ࢖ͬͨϝοηʔδΛૹͬͯΈΑ͏ n  app.js 172  vru YvE QEvHFv!

    MQRBACI R E (((v ) / ; : = : v v gicl fmd CMLQR OSHW PEQS R (vOSHW ER SHWE EQS R.MP!SQEP HD ' ERvKEQQA Ev(v Y' HFv!OSHW PEQS R (vLS v v , v gicl f. EU EQQA E at] KEQQA Ev(v R E v REUR v REUR vOSHW PEQS R KEQQA E Y' YvE QEv vks pe_ Zb[_ qo KEQQA Ev(v ELEPARE LTA HD EPARHML EQQA E! ' Y PERSPLvC HELR PE EQQA E!PE MIEL vKEQQA E ' YvE QEv vnu 
  83. ։ൃͷϙΠϯτ

  84. -*/&#PU։ൃͷϙΠϯτ n LINE pf !' &$   l 

    &$ webhook #" Ø ) (&Postback  n +( IDuserId  &$ ) l userId *%+(  Ø $ "$#  *Bot ! $ userId '% 
  85. -*/&#PU։ൃͷϙΠϯτ n Session    #  l $"

     userId    !  Ø   DBmemory-cache 
  86. એ఻ͳͲ

  87. େࡕ͕͓·Δक़ IUUQTPTBLBHBPNBSDPOOQBTTDPNFWFOU

  88. εϚʔτεϐʔΧʔϛʔςΟϯά IUUQTPTBLBESJWFOEFWDPOOQBTTDPNFWFOU

  89. એ఻ ܾࡁΛݸਓ։ൃͷ#PUʹ ૊ࠐΉهࣄΛ2JJUB Ͱެ։தʂ ͓͔͛͞·Ͱ ໿͍͍Ͷʂ 

  90. એ఻ ʰՈ଒ͷ͓ख఻͍ாʱεΩϧެ։த IUUQCJUMZPUFUTVEBJDIP ࢠҭͯੈ୅ʹ ϐολϦʂ 

  91. 4/4 ΞΧ΢ϯτͳͲ !TVNJIJSP 4VNJIJSP,BHBXB -*/&"1*&YQFSU 

  92. ͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

  93. -*/&%FWFMPQFS(SPVQ,BOTBJ ࠓޙͷษڧձ༧ఆ  ೔ఔ ಺༰ ৔ॴ ʢ໦ʣ ʙ -*''ʢ-*/&'SPOUFOE'SBNFXPSLʣ Ͱ#PU

    ͷ6* ΛϦονʹ͢Δ ʙ7VFKT Ͱ-*'' Λ։ൃ͠Α͏ʂʙ ͘͞ΒΠϯλʔωοτ ʢ౔ʣ -*/&#PU։ൃ جૅฤ ʢ ճͷ࠶ԋʣ େࡕ"5$ ϝΠΧʔζόβʔϧಛઃձ৔ ʢ೔ʣ $MPWB ։ൃ େࡕ"5$ ϝΠΧʔζόβʔϧಛઃձ৔ ݄༧ఆ -*/&1BZ"1* ௐ੔த ݄༧ఆ -5େձ ˞߽՚ήετ͕དྷΔ͔΋ ௐ੔த