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

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

新規登録して質問してみよう
ただいま回答率
85.39%
Google Apps Script

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

Q&A

解決済

2回答

343閲覧

GASでwikiのapiが使えない

ists000

総合スコア1

Google Apps Script

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

0グッド

1クリップ

投稿2023/04/06 20:12

GAS

コード:
function getWikipediaUrlAndBody(q) {
var url = simple_wikipedia_api + '?keyword=' + encodeURIComponent(q) + '&output=json';
var res = JSON.parse(UrlFetchApp.fetch(url));
if (res !== null) {
return {'url': res[0].url,'body': res[0].body};
} else {
return null;
}
}
Gasでwikiを取得しようとしたのですが、user localとしか出ません。何回か試しましたが、できませんでした。

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

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

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

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

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

guest

回答2

0

自己解決

ごていねいにありがとうございます。解決しました。

投稿2023/04/08 04:52

ists000

総合スコア1

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

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

0

まずは、変数の中身が正しいか確認しましょう。

var url = simple_wikipedia_api + '?keyword=' + encodeURIComponent(q) + '&output=json';

var res = JSON.parse(UrlFetchApp.fetch(url));

を実行後に 変数 url や res にどのような値が入っているのでしょうか。
console.log 等を用いて、確認してみて下さい。

また、

simple_wikipedia_api

の URL は、http://wikipedia.simpleapi.net/ でしょうか。

検索すると simpleapi.net は、2020年の時点で接続しても使用できないという情報が複数ありますので、サービスが終了している可能性が高いと思います。


API の利用目的がわかりませんが、 Wikipedia の検索であれば、Wikipedia 公式 API が、 https://ja.wikipedia.org/w/api.php で提供されていますので、公式 API を使うのが良いと思います。

その場合は、値を返している return {'url': res[0].url,'body': res[0].body}; の部分もレスポンスを見ながら手直しが必要になります。

例えば、Wikipedia 公式 API を使ってキーワード検索する場合の URL は、 https://ja.wikipedia.org/w/api.php?action=query&format=json&generator=search&gsrsearch=検索キーワード のような感じでしょうか。

例えば、 東京タワー を検索する ( https://ja.wikipedia.org/w/api.php?action=query&format=json&generator=search&gsrsearch=%E6%9D%B1%E4%BA%AC%E3%82%BF%E3%83%AF%E3%83%BC )と

JSON

1{ 2 "batchcomplete": "", 3 "continue": { 4 "gsroffset": 10, 5 "continue": "gsroffset||" 6 }, 7 "query": { 8 "pages": { 9 "4537714": { 10 "pageid": 4537714, 11 "ns": 0, 12 "title": "\u30c6\u30ec\u30d3\u6771\u4eac", 13 "index": 8 14 }, 15 "179940": { 16 "pageid": 179940, 17 "ns": 0, 18 "title": "\u6771\u4eac\u30b9\u30ab\u30a4\u30c4\u30ea\u30fc", 19 "index": 3 20 }, 21 "1731153": { 22 "pageid": 1731153, 23 "ns": 0, 24 "title": "\u6771\u4eac\u30bf\u30ef\u30fc", 25 "index": 1 26 }, 27 "137338": { 28 "pageid": 137338, 29 "ns": 0, 30 "title": "\u6771\u4eac\u30bf\u30ef\u30fc (\u5c0f\u8aac)", 31 "index": 2 32 }, 33 "520711": { 34 "pageid": 520711, 35 "ns": 0, 36 "title": "\u6771\u4eac\u30bf\u30ef\u30fc \u301c\u30aa\u30ab\u30f3\u3068\u30dc\u30af\u3068\u3001\u6642\u3005\u3001\u30aa\u30c8\u30f3\u301c", 37 "index": 7 38 }, 39 "819456": { 40 "pageid": 819456, 41 "ns": 0, 42 "title": "\u6771\u4eac\u30bf\u30ef\u30fc \u301c\u30aa\u30ab\u30f3\u3068\u30dc\u30af\u3068\u3001\u6642\u3005\u3001\u30aa\u30c8\u30f3\u301c (\u30c6\u30ec\u30d3\u30c9\u30e9\u30de)", 43 "index": 5 44 }, 45 "993445": { 46 "pageid": 993445, 47 "ns": 0, 48 "title": "\u6771\u4eac\u30bf\u30ef\u30fc \u301c\u30aa\u30ab\u30f3\u3068\u30dc\u30af\u3068\u3001\u6642\u3005\u3001\u30aa\u30c8\u30f3\u301c (\u6620\u753b)", 49 "index": 6 50 }, 51 "147749": { 52 "pageid": 147749, 53 "ns": 0, 54 "title": "\u6771\u4eac\u30bf\u30ef\u30fc\u30b9\u30bf\u30b8\u30aa", 55 "index": 4 56 }, 57 "3568478": { 58 "pageid": 3568478, 59 "ns": 0, 60 "title": "\u6771\u4eac\u30ef\u30f3\u30d4\u30fc\u30b9\u30bf\u30ef\u30fc", 61 "index": 9 62 }, 63 "1854535": { 64 "pageid": 1854535, 65 "ns": 0, 66 "title": "\u6771\u6b66\u30bf\u30ef\u30fc\u30b9\u30ab\u30a4\u30c4\u30ea\u30fc", 67 "index": 10 68 } 69 } 70 } 71}

のような感じで、JSON 形式で帰ってきます。
https://ja.wikipedia.org/wiki/ と title 文字列をエンコードしてつなげると Wikipedia の URL になります。

いろいろなパラメータが指定できますので、 https://ja.wikipedia.org/w/api.php のヘルプを読みながら試してみて下さい。

投稿2023/04/07 00:11

CHERRY

総合スコア25216

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.39%

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

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

質問する

関連した質問