GASでLINEのお天気botを作った話
GASでLINEのお天気botを作ったので作り方を共有します。
LINEbotというと難しそうと思われるかもしれませんが、GoogleアカウントとLINEDevelopersアカウントとある程度のプログラミング知識があれば簡単に作れます💪
では行ってみましょう!
手順1:LINE Developerコンソールのアカウント作成
このリンク↓から登録します
はじめてログインした時には開発者登録を求められるので必要事項を入力してください。
アカウント・プロバイダー・チャンネルの作成方法は以下↓のリンクを参考にしてください。
手順2:GASの使い方
Googleスプレッドシートを開き、ツール→<> スプレッドエディタ の順に選択。
function doPost(e) {
// WebHookで受信した応答用Token
// ユーザーのメッセージを取得
//メッセージをgetWetherに渡して天気の情報を取得
var replyMessage = getMessage(userMessage);
// 応答メッセージ用のAPI URL
UrlFetchApp.fetch(url, {
'headers': {
},
'method': 'post',
'replyToken': replyToken,
'messages': [{
'type': 'text',
'text': replyMessage,
}],
}),
});
}
function getMessage(userMessage) {
var cityid = '';
if(userMessage=='道北'){
cityid='011000';
}
else if(userMessage=='道東'){
cityid='013010';
}
else if(userMessage=='道南'){
cityid='015010';
}
else if(userMessage=='道央'){
cityid='016010';
}
else if(userMessage=='青森'){
cityid='020010';
}
else if(userMessage=='岩手'){
cityid='030010';
}
else if(userMessage=='宮城'){
cityid='040010';
}
else if(userMessage=='秋田'){
cityid='050010';
}
else if(userMessage=='山形'){
cityid='060010';
}
else if(userMessage=='福島'){
cityid='070010';
}
else if(userMessage=='茨城'){
cityid='080010';
}
else if(userMessage=='栃木'){
cityid='090010';
}
else if(userMessage=='群馬'){
cityid='100010';
}
else if(userMessage=='埼玉'){
cityid='110010';
}
else if(userMessage=='千葉'){
cityid='120010';
}
else if(userMessage=='東京'){
cityid='130010';
}
else if(userMessage=='神奈川'){
cityid='140010';
}
else if(userMessage=='新潟'){
cityid='150010';
}
else if(userMessage=='富山'){
cityid='160010';
}
else if(userMessage=='石川'){
cityid='170010';
}
else if(userMessage=='福井'){
cityid='180010';
}
else if(userMessage=='山梨'){
cityid='190010';
}
else if(userMessage=='長野'){
cityid='200010';
}
else if(userMessage=='岐阜'){
cityid='210010';
}
else if(userMessage=='静岡'){
cityid='220010';
}
else if(userMessage=='愛知'){
cityid='230010';
}
else if(userMessage=='滋賀'){
cityid='240010';
}
else if(userMessage=='三重'){
cityid='250010';
}
else if(userMessage=='京都'){
cityid='260010';
}
else if(userMessage=='大阪'){
cityid='270000';
}
else if(userMessage=='兵庫'){
cityid='280010';
}
else if(userMessage=='奈良'){
cityid='290010';
}
else if(userMessage=='和歌山'){
cityid='300010';
}
cityid='310010';
}
else if(userMessage=='島根'){
cityid='320010';
}
else if(userMessage=='岡山'){
cityid='330010';
}
else if(userMessage=='広島'){
cityid='340010';
}
else if(userMessage=='山口'){
cityid='350010';
}
else if(userMessage=='徳島'){
cityid='360010';
}
else if(userMessage=='香川'){
cityid='370000';
}
else if(userMessage=='愛媛'){
cityid='380010';
}
else if(userMessage=='高知'){
cityid='390010';
}
else if(userMessage=='福岡'){
cityid='400010';
}
else if(userMessage=='佐賀'){
cityid='410010';
}
else if(userMessage=='長崎'){
cityid='420010';
}
else if(userMessage=='熊本'){
cityid='430010';
}
else if(userMessage=='大分'){
cityid='440010';
}
else if(userMessage=='宮崎'){
cityid='450010';
}
else if(userMessage=='鹿児島'){
cityid='460010';
}
else if(userMessage=='沖縄'){
cityid='471010';
}
else{
}
return weatherForecast(cityid);
}
function weatherForecast(id) {
//URL+cityID
/* チャットワークに送る文字列のヘッダー */
strBody = strBody + "";
return strBody
}
|
今回天気の情報取得にはこちらのサイトのAPIを利用しました。
以前はLivedoor天気のAPIを使用していたのですが、サービス終了してたんですね…
完成したら、公開→ウェブアプリケーションとして導入で公開します。
公開するとアプリケーションのURLが発行されるので、発行されたURLをLINE DevelopersでWebhook URLに貼り付けたら完成です!
友達に見せたら、文章が長すぎるとダメ出しされましたorz
改善します…(一行消せばいいだけ)