質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

1596閲覧

GASでline bot を作成しているが、応答がない。

ma_k

総合スコア33

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/05/27 15:43

LINE bot を作成してみたく、
wikipediaのapiを使用して
メッセージを送ると、wikiの中身を調べて回答してくれるlinebotを
作成しています。

調べ物してくれるLINE BOTを作った【GAS】【LINE Message API】

【GAS修行②】Wiki調査LINE BOTを作成

LINE Botをサーバーレスで開発!Google Apps ScriptとLINE Messaging APIを使ってチャットボットを作ってみた

をトレースしながら作成しています。

完成したと思ったのですが、

メッセージ送信すると、

『解読お不可能』(設定した内容)は返答きますが、

wikiの中身が返ってきません。

イメージ説明

返答は来るので、
設定には問題なさそうで、
コードの中身が違っているのかと思ってます。

3つのコードを参考に
変更したり試しても反応がなく困っています。

どこが間違っているのが、教えていただけないでしょうか。

gs

1var CHANNEL_ACCESS_TOKEN = '***********'; 2var line_endpoint = 'https://api.line.me/v2/bot/message/reply'; 3var simple_wikipedia_api = 'http://wikipedia.simpleapi.net/api'; 4 5// メッセージを受けて返信する 6function doPost(e) { 7 8 //リプライ用のトークンを取得 9 var reply_token= JSON.parse(e.postData.contents).events[0].replyToken; 10 if (typeof reply_token === 'undefined') { 11 return; 12 } 13 14 //メッセージを取得 15 var user_message = JSON.parse(e.postData.contents).events[0].message.text; 16 17 var reply_messages = ['解読お不可能']; 18 if (/とは??$/.test(user_message)) { 19 var q = user_message.match(/(.*)とは??$/)[1]; 20 var url_and_body = getWikipediaUrlAndBody(q); 21 if (url_and_body !== null) { 22 reply_messages = [ 23 '「' + q + '」' + 'が知りたいんだね。', 24 url_and_body.body.substr(0, 140) + '...', 25 '長い(-_-)\nこの先は下記からどうぞ(˘ω˘)', 26 url_and_body.url, 27 ]; 28 } 29 } 30 31 32 33 34 35 var messages = reply_messages.map(function (v) { 36 return {'type': 'text', 'text': v}; 37 }); 38 39 UrlFetchApp.fetch(line_endpoint, { 40 'headers': { 41 'Content-Type': 'application/json; charset=UTF-8', 42 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, 43 }, 44 'method': 'post', 45 'payload': JSON.stringify({ 46 'replyToken': reply_token, 47 'messages': messages, 48 }), 49 }); 50 return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON); 51} 52 53function getWikipediaUrlAndBody(q) { 54 var url = simple_wikipedia_api + '?keyword=' + encodeURIComponent(q) + '&output=json'; 55 var res = JSON.parse(UrlFetchApp.fetch(url)); 56 if (res !== null) { 57 return {'url': res[0].url,'body': res[0].body}; 58 } else { 59 return null; 60 } 61}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

attakei

2021/05/27 16:08

自分がこの質問を読んだタイミングでは、このAPIは「Wikipedia API is too busy」としか返ってきませんでした。 なおかつ、レスポンスヘッダーが Last-Modified: Mon, 05 Oct 2020 11:14:26 GMT とあるため、去年からずっとこの状態なのかなと思いました。 トレースしながら作成している過程でこのAPIは機能していましたか?
ma_k

2021/05/28 04:44

wikiは登録なしで使えるって認識だけで、、APIの機能はみてませんでした。 公開されたら使えるって思い込んでました。 ありがとうございます。
guest

回答1

0

ベストアンサー

公開停止のようです!
SimpleAPI の Wikipedia API が使用できない

記事のリンク先にある、Wikipediaの記事の概要を取得の項を利用すればいけそうです。
ただ、概要だけみたいなので、物足りないかもしれませんが。

どうしても値を取りたいということでれば、
GASとPhantomJsCloudで動的なWebページをスクレイピング(Javascriptページに対応)
このあたりのAPIや、Python・nodeつかってのスクレイピングが必要になると思います。

利用の際には、念の為アクセス先の利用規約を確認してください。
スクレイピングは違法?3つの法律問題と対応策を弁護士が5分で解説

投稿2021/05/27 23:58

Tatsunosuke

総合スコア599

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma_k

2021/05/28 04:45

公開停止があること知らなかったです。ありがとうございます。 色々参考サイト載せてくださって助かります。
Tatsunosuke

2021/05/28 06:25

お役に立てたようで、良かったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問