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

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

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

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

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

6832閲覧

JavaScriptのFetchでBodyの中身を取得したい

banao

総合スコア13

Google Apps Script

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

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/07/06 15:26

GASで文字列を返すスクリプトを作ったのですが、それを外部のjavascriptからアクセスして文字列を取得したいです。そこで、Fetch APIを使ってGoogle Chromeの開発ツール上で見ることはできたのですが、[[PromiseResult]]から取り出す方法が分かりません。

GAS

1function doGet(e) { 2 3 let url = `https://ejje.weblio.jp/content/${e.parameter.word}`; 4 let html = UrlFetchApp.fetch(url).getContentText(); 5 let out = Parser.data(html) 6 .from('<td class="content-explanation ej">') 7 .to('</td>') 8 .iterate(); 9 10 return ContentService.createTextOutput(out).setMimeType(ContentService.MimeType.TEXT);; 11 12}

Local

1//省略 2 3const onPressTest = async () => { 4 await fetch('https://script.google.com/macros/s/AKfycbwxEVsaRz81dSRDtMJyIR0TKjDW6Wsqb5KwNxArlc6P0grghgbLDDMgr9sxWd1wXPEk/exec?word=allow') 5 .then(res => {console.log(res.text())}) 6 .catch((err) => {console.error(err)}) 7 }

onPressTestを実行すると、このようになります。
イメージ説明
このPromiseResultの中身だけをstring形式で変数に格納したいです。
やりたいことはGAS上でスクレイピングして、それをJSで取得したいだけなので別のやり方があるなら是非参考にさせていただきたいです。よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

javascript

1const onPressTest = async () => { 2 const url="https://script.google.com/macros/s/AKfycbwxEVsaRz81dSRDtMJyIR0TKjDW6Wsqb5KwNxArlc6P0grghgbLDDMgr9sxWd1wXPEk/exec?word=allow"; 3 return fetch(url).then(res=>res.text()); 4} 5(async()=>{console.log(await onPressTest())})();

投稿2021/07/07 00:58

yambejp

総合スコア116724

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

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

0

Promiseの結果を同期的に取り出す方法は基本的にありません。

awaitで受けるか、thenの中から使うかのどちらかです。

投稿2021/07/06 22:51

maisumakun

総合スコア146018

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問