[{"data":1,"prerenderedAt":713},["ShallowReactive",2],{"h937862452":3,"h3131564233":429,"h3075540852":708},{"id":4,"title":5,"body":6,"description":28,"extension":420,"meta":421,"navigation":261,"path":425,"seo":426,"stem":427,"__hash__":428},"docs\u002Fja\u002Ftips\u002F2026\u002F06\u002F04\u002Fmessaging-api-sdk.md","Messaging API SDKのサンプルコードを活用しよう",{"type":7,"value":8,"toc":406},"minimark",[9],[10,11,12,20,25,29,32,35,38,43,55,149,153,156,159,163,176,179,389,393,396,400],"Tips",{},[13,14,17],"h1",{"id":15,"class":16},"","!mb-4",[18,19],"page-title",{},[21,22],"display-date",{"date":23,"class":24},"2026\u002F06\u002F04","!mb-20",[26,27,28],"p",{},"こんにちは！テクニカルライターの銭神です。みなさんは、LINEヤフーが提供しているMessaging API SDKを利用しているとき、「どうやってコードに落とし込めばいいかわからない……」と悩んだことはありませんか？",[26,30,31],{},"そんな悩みを解決する方法のひとつが、SDKのサンプルコードを見ることです。",[26,33,34],{},"この記事では、SDKのサンプルコードの場所や活用するメリット、またRuby版のサンプルコードの一部を紹介します。",[36,37],"toc",{},[39,40,42],"h2",{"id":41},"sample-code","各言語向けのSDKのサンプルコード",[26,44,45,46,50,51,54],{},"Messaging APIの各言語向けのSDKは、すべてGitHub上でオープンソースとして公開されています。各リポジトリにある",[47,48,49],"code",{},"examples","（または",[47,52,53],{},"samples","）ディレクトリの中に、実際に動作させることができるサンプルコードが格納されています。",[56,57,58,71],"table",{},[59,60,61],"thead",{},[62,63,64,68],"tr",{},[65,66,67],"th",{},"言語",[65,69,70],{},"サンプルコードのURL",[72,73,74,89,101,113,125,137],"tbody",{},[62,75,76,80],{},[77,78,79],"td",{},"Java",[77,81,82],{},[83,84,88],"a",{"href":85,"rel":86},"https:\u002F\u002Fgithub.com\u002Fline\u002Fline-bot-sdk-java\u002Ftree\u002Fmaster\u002Fsamples",[87],"nofollow","line-bot-sdk-java\u002Fsamples",[62,90,91,94],{},[77,92,93],{},"Python",[77,95,96],{},[83,97,100],{"href":98,"rel":99},"https:\u002F\u002Fgithub.com\u002Fline\u002Fline-bot-sdk-python\u002Ftree\u002Fmaster\u002Fexamples",[87],"line-bot-sdk-python\u002Fexamples",[62,102,103,106],{},[77,104,105],{},"Node.js",[77,107,108],{},[83,109,112],{"href":110,"rel":111},"https:\u002F\u002Fgithub.com\u002Fline\u002Fline-bot-sdk-nodejs\u002Ftree\u002Fmaster\u002Fexamples",[87],"line-bot-sdk-nodejs\u002Fexamples",[62,114,115,118],{},[77,116,117],{},"Go",[77,119,120],{},[83,121,124],{"href":122,"rel":123},"https:\u002F\u002Fgithub.com\u002Fline\u002Fline-bot-sdk-go\u002Ftree\u002Fmaster\u002Fexamples",[87],"line-bot-sdk-go\u002Fexamples",[62,126,127,130],{},[77,128,129],{},"PHP",[77,131,132],{},[83,133,136],{"href":134,"rel":135},"https:\u002F\u002Fgithub.com\u002Fline\u002Fline-bot-sdk-php\u002Ftree\u002Fmaster\u002Fexamples",[87],"line-bot-sdk-php\u002Fexamples",[62,138,139,142],{},[77,140,141],{},"Ruby",[77,143,144],{},[83,145,148],{"href":146,"rel":147},"https:\u002F\u002Fgithub.com\u002Fline\u002Fline-bot-sdk-ruby\u002Ftree\u002Fmaster\u002Fexamples",[87],"line-bot-sdk-ruby\u002Fexamples",[39,150,152],{"id":151},"merit","サンプルコードを活用するメリット",[26,154,155],{},"サンプルコードには、署名の検証やWebhookの受け取り、エラーハンドリングといった基本的な処理が含まれており、これをベースに開発することができます。",[26,157,158],{},"また、プッシュメッセージや応答メッセージの送り方など、Messaging APIの機能を利用する方法も記述されているため、開発のときの辞書がわりにもなります。",[39,160,162],{"id":161},"example","具体例：Ruby版のSDKでプッシュメッセージを送る方法",[26,164,165,166,169,170,175],{},"サンプルコードの見方の例として、ここではRuby版のSDKでプッシュメッセージを送る方法を見てみます。Ruby版のSDKのサンプルコードは、",[83,167,148],{"href":146,"rel":168},[87],"にあります。この中の",[83,171,174],{"href":172,"rel":173},"https:\u002F\u002Fgithub.com\u002Fline\u002Fline-bot-sdk-ruby\u002Ftree\u002Fmaster\u002Fexamples\u002Fv2\u002Fkitchensink",[87],"v2\u002Fkitchensink","には、さまざまな機能のコードがあります。",[26,177,178],{},"サンプルコードを見ると、たとえばユーザーにプッシュメッセージを送る方法が以下のようになることがわかります。",[180,181,185],"pre",{"className":182,"code":183,"language":184,"meta":15,"style":15},"language-ruby shiki shiki-themes github-dark-default","client = Line::Bot::V2::MessagingApi::ApiClient.new(channel_access_token: ENV.fetch(\"LINE_CHANNEL_ACCESS_TOKEN\"))\n\npush_request = Line::Bot::V2::MessagingApi::PushMessageRequest.new(\n  to: \"ユーザーID\",\n  messages: [\n    Line::Bot::V2::MessagingApi::TextMessage.new(text: \"Hello, world!\")\n  ]\n)\n\nclient.push_message(push_message_request: push_request)\n","ruby",[47,186,187,256,263,297,309,318,356,362,367,372],{"__ignoreMap":15},[188,189,192,196,200,204,208,211,213,216,218,221,223,226,229,232,235,238,241,243,247,249,253],"span",{"class":190,"line":191},"line",1,[188,193,195],{"class":194},"sQhOw","client",[188,197,199],{"class":198},"suJrU"," =",[188,201,203],{"class":202},"sFSAA"," Line",[188,205,207],{"class":206},"sZEs4","::",[188,209,210],{"class":202},"Bot",[188,212,207],{"class":206},[188,214,215],{"class":202},"V2",[188,217,207],{"class":206},[188,219,220],{"class":202},"MessagingApi",[188,222,207],{"class":206},[188,224,225],{"class":202},"ApiClient",[188,227,228],{"class":206},".",[188,230,231],{"class":198},"new",[188,233,234],{"class":206},"(",[188,236,237],{"class":202},"channel_access_token:",[188,239,240],{"class":202}," ENV",[188,242,228],{"class":206},[188,244,246],{"class":245},"sc3cj","fetch",[188,248,234],{"class":206},[188,250,252],{"class":251},"s9uIt","\"LINE_CHANNEL_ACCESS_TOKEN\"",[188,254,255],{"class":206},"))\n",[188,257,259],{"class":190,"line":258},2,[188,260,262],{"emptyLinePlaceholder":261},true,"\n",[188,264,266,269,271,273,275,277,279,281,283,285,287,290,292,294],{"class":190,"line":265},3,[188,267,268],{"class":194},"push_request",[188,270,199],{"class":198},[188,272,203],{"class":202},[188,274,207],{"class":206},[188,276,210],{"class":202},[188,278,207],{"class":206},[188,280,215],{"class":202},[188,282,207],{"class":206},[188,284,220],{"class":202},[188,286,207],{"class":206},[188,288,289],{"class":202},"PushMessageRequest",[188,291,228],{"class":206},[188,293,231],{"class":198},[188,295,296],{"class":206},"(\n",[188,298,300,303,306],{"class":190,"line":299},4,[188,301,302],{"class":202},"  to:",[188,304,305],{"class":251}," \"ユーザーID\"",[188,307,308],{"class":206},",\n",[188,310,312,315],{"class":190,"line":311},5,[188,313,314],{"class":202},"  messages:",[188,316,317],{"class":206}," [\n",[188,319,321,324,326,328,330,332,334,336,338,341,343,345,347,350,353],{"class":190,"line":320},6,[188,322,323],{"class":202},"    Line",[188,325,207],{"class":206},[188,327,210],{"class":202},[188,329,207],{"class":206},[188,331,215],{"class":202},[188,333,207],{"class":206},[188,335,220],{"class":202},[188,337,207],{"class":206},[188,339,340],{"class":202},"TextMessage",[188,342,228],{"class":206},[188,344,231],{"class":198},[188,346,234],{"class":206},[188,348,349],{"class":202},"text:",[188,351,352],{"class":251}," \"Hello, world!\"",[188,354,355],{"class":206},")\n",[188,357,359],{"class":190,"line":358},7,[188,360,361],{"class":206},"  ]\n",[188,363,365],{"class":190,"line":364},8,[188,366,355],{"class":206},[188,368,370],{"class":190,"line":369},9,[188,371,262],{"emptyLinePlaceholder":261},[188,373,375,378,381,383,386],{"class":190,"line":374},10,[188,376,377],{"class":206},"client.",[188,379,380],{"class":245},"push_message",[188,382,234],{"class":206},[188,384,385],{"class":202},"push_message_request:",[188,387,388],{"class":206}," push_request)\n",[39,390,392],{"id":391},"conclusion","おわりに",[26,394,395],{},"Messaging API SDKを利用しているときに迷ったら、各言語のサンプルコードを見てみると、解決につながるかもしれません。この記事が、たのしい開発につながればうれしいです！",[397,398,399],"style",{},"html pre.shiki code .sQhOw, html code.shiki .sQhOw{--shiki-default:#FFA657}html pre.shiki code .suJrU, html code.shiki .suJrU{--shiki-default:#FF7B72}html pre.shiki code .sFSAA, html code.shiki .sFSAA{--shiki-default:#79C0FF}html pre.shiki code .sZEs4, html code.shiki .sZEs4{--shiki-default:#E6EDF3}html pre.shiki code .sc3cj, html code.shiki .sc3cj{--shiki-default:#D2A8FF}html pre.shiki code .s9uIt, html code.shiki .s9uIt{--shiki-default:#A5D6FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",[401,402],"tags",{"tags":403,"lang":404,"section":405},"messaging-api, line-developers-site","en","tips",{"title":15,"searchDepth":299,"depth":299,"links":407},[408,411,414,417],{"id":409,"depth":258,"text":410},"各言語向けのsdkのサンプルコード-sample-code","各言語向けのSDKのサンプルコード {#sample-code}",{"id":412,"depth":258,"text":413},"サンプルコードを活用するメリット-merit","サンプルコードを活用するメリット {#merit}",{"id":415,"depth":258,"text":416},"具体例ruby版のsdkでプッシュメッセージを送る方法-example","具体例：Ruby版のSDKでプッシュメッセージを送る方法 {#example}",{"id":418,"depth":258,"text":419},"おわりに-conclusion","おわりに {#conclusion}","md",{"date":422,"tags":403,"locale":423,"sidebar":424},"2026-06-04 00:00 UTC","ja",false,"\u002Fja\u002Ftips\u002F2026\u002F06\u002F04\u002Fmessaging-api-sdk",{"title":5,"description":28},"ja\u002Ftips\u002F2026\u002F06\u002F04\u002Fmessaging-api-sdk","VTRxk9zrXsd9CV8Hz2Vn9AcFie28mWlgdFY6_c8kl6I",{"id":4,"title":5,"body":430,"description":28,"extension":420,"meta":706,"navigation":261,"path":425,"seo":707,"stem":427,"__hash__":428},{"type":7,"value":431,"toc":700},[432],[10,433,434,438,440,442,444,446,448,450,456,522,524,526,528,530,538,540,692,694,696,698],{},[13,435,436],{"id":15,"class":16},[18,437],{},[21,439],{"date":23,"class":24},[26,441,28],{},[26,443,31],{},[26,445,34],{},[36,447],{},[39,449,42],{"id":41},[26,451,45,452,50,454,54],{},[47,453,49],{},[47,455,53],{},[56,457,458,466],{},[59,459,460],{},[62,461,462,464],{},[65,463,67],{},[65,465,70],{},[72,467,468,477,486,495,504,513],{},[62,469,470,472],{},[77,471,79],{},[77,473,474],{},[83,475,88],{"href":85,"rel":476},[87],[62,478,479,481],{},[77,480,93],{},[77,482,483],{},[83,484,100],{"href":98,"rel":485},[87],[62,487,488,490],{},[77,489,105],{},[77,491,492],{},[83,493,112],{"href":110,"rel":494},[87],[62,496,497,499],{},[77,498,117],{},[77,500,501],{},[83,502,124],{"href":122,"rel":503},[87],[62,505,506,508],{},[77,507,129],{},[77,509,510],{},[83,511,136],{"href":134,"rel":512},[87],[62,514,515,517],{},[77,516,141],{},[77,518,519],{},[83,520,148],{"href":146,"rel":521},[87],[39,523,152],{"id":151},[26,525,155],{},[26,527,158],{},[39,529,162],{"id":161},[26,531,165,532,169,535,175],{},[83,533,148],{"href":146,"rel":534},[87],[83,536,174],{"href":172,"rel":537},[87],[26,539,178],{},[180,541,542],{"className":182,"code":183,"language":184,"meta":15,"style":15},[47,543,544,588,592,622,630,636,668,672,676,680],{"__ignoreMap":15},[188,545,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586],{"class":190,"line":191},[188,547,195],{"class":194},[188,549,199],{"class":198},[188,551,203],{"class":202},[188,553,207],{"class":206},[188,555,210],{"class":202},[188,557,207],{"class":206},[188,559,215],{"class":202},[188,561,207],{"class":206},[188,563,220],{"class":202},[188,565,207],{"class":206},[188,567,225],{"class":202},[188,569,228],{"class":206},[188,571,231],{"class":198},[188,573,234],{"class":206},[188,575,237],{"class":202},[188,577,240],{"class":202},[188,579,228],{"class":206},[188,581,246],{"class":245},[188,583,234],{"class":206},[188,585,252],{"class":251},[188,587,255],{"class":206},[188,589,590],{"class":190,"line":258},[188,591,262],{"emptyLinePlaceholder":261},[188,593,594,596,598,600,602,604,606,608,610,612,614,616,618,620],{"class":190,"line":265},[188,595,268],{"class":194},[188,597,199],{"class":198},[188,599,203],{"class":202},[188,601,207],{"class":206},[188,603,210],{"class":202},[188,605,207],{"class":206},[188,607,215],{"class":202},[188,609,207],{"class":206},[188,611,220],{"class":202},[188,613,207],{"class":206},[188,615,289],{"class":202},[188,617,228],{"class":206},[188,619,231],{"class":198},[188,621,296],{"class":206},[188,623,624,626,628],{"class":190,"line":299},[188,625,302],{"class":202},[188,627,305],{"class":251},[188,629,308],{"class":206},[188,631,632,634],{"class":190,"line":311},[188,633,314],{"class":202},[188,635,317],{"class":206},[188,637,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666],{"class":190,"line":320},[188,639,323],{"class":202},[188,641,207],{"class":206},[188,643,210],{"class":202},[188,645,207],{"class":206},[188,647,215],{"class":202},[188,649,207],{"class":206},[188,651,220],{"class":202},[188,653,207],{"class":206},[188,655,340],{"class":202},[188,657,228],{"class":206},[188,659,231],{"class":198},[188,661,234],{"class":206},[188,663,349],{"class":202},[188,665,352],{"class":251},[188,667,355],{"class":206},[188,669,670],{"class":190,"line":358},[188,671,361],{"class":206},[188,673,674],{"class":190,"line":364},[188,675,355],{"class":206},[188,677,678],{"class":190,"line":369},[188,679,262],{"emptyLinePlaceholder":261},[188,681,682,684,686,688,690],{"class":190,"line":374},[188,683,377],{"class":206},[188,685,380],{"class":245},[188,687,234],{"class":206},[188,689,385],{"class":202},[188,691,388],{"class":206},[39,693,392],{"id":391},[26,695,395],{},[397,697,399],{},[401,699],{"tags":403,"lang":404,"section":405},{"title":15,"searchDepth":299,"depth":299,"links":701},[702,703,704,705],{"id":409,"depth":258,"text":410},{"id":412,"depth":258,"text":413},{"id":415,"depth":258,"text":416},{"id":418,"depth":258,"text":419},{"date":422,"tags":403,"locale":423,"sidebar":424},{"title":5,"description":28},[709,710,711,712],{"id":41,"depth":258,"text":42},{"id":151,"depth":258,"text":152},{"id":161,"depth":258,"text":162},{"id":391,"depth":258,"text":392},1781161619556]