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

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

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

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

JavaScript

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

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

HTML

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

Q&A

1回答

1026閲覧

gasのdopost(e)について

退会済みユーザー

退会済みユーザー

総合スコア0

Google Apps Script

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

JavaScript

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

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

HTML

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

0グッド

2クリップ

投稿2019/01/20 17:33

gas初心者の者です。
gasを使ってslackにアンケートを実装し、スプレッドシートに反映させたいです。
とりあえず、slackにアンケートを投稿するところまではできました。
色々調べていたところ、その結果を扱うのにdopost()関数を使うとわかりました。
サンプルコードがあったのですが、デバッグで『undefined からプロパティ「parameter」を読み取れません』と表示されます。

javascript

1function doPost(e) { 2 3 var parameter=e.parameter; 4 var data = parameter.payload; 5 var json = JSON.parse(decodeURIComponent(data)); 6 7 8 if (json.actions[0].name == "button"){ 9 var text = "You clicked " + json.actions[0].value; 10 11 } else if (json.actions[0].name == "select") { 12 var text = "You selected " + json.actions[0].selected_options[0].value; 13 } 14 15 16 var replyMessage = { 17 "replace_original": true, 18 "response_type": "in_channel", 19 "text": "I see you clicked the button.\n" + text 20 }; 21 return ContentService.createTextOutput(JSON.stringify(replyMessage)).setMimeType(ContentService.MimeType.JSON); 22 }

また、アンケートに答えるとslack上では謎のコードがでています。原因を教えていただけますでしょうか?

html

1<!DOCTYPE html> 2<html> 3<head> 4<link rel="shortcut icon" href="//ssl.gstatic.com/docs/script/images/favicon.ico"> 5<title> 6Error 7</title> 8<style type="text/css">body {background-color: #fff; margin: 0; padding: 0;}.errorMessage {font-family: Arial,sans-serif; font-size: 12pt; font-weight: bold; line-height: 150%; padding-top: 25px;} 9</style> 10</head> 11<body style="margin:20px"> 12<div> 13<img alt="Google Apps Script" src="//ssl.gstatic.com/docs/script/images/logo.png"> 14</div> 15<div style="text-align:center;font-family:monospace;margin:50px auto 0;max-width:600px">DNS エラー: http://URL (line 30, file &quot;コード&quot;, project &quot;ttt&quot;) 16</div> 17</body> 18</html>

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

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

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

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

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

papinianus

2019/01/21 02:20

サンプルコードの出典は開示可能でしょうか
guest

回答1

0

doPostは関数の実行からはデバッグできません。
何でも良いのでPOSTができるご存知のツールで送信する必要があります。

謎のコードはコールバックとして指定したページのアドレスがURLという文字なのが原因です。正しく指定すれば良いと思います。

この状況だと直すというより、正しくはこうするのです、という方針が必要だと考えます。そのような回答を得るには参考にしたサイトを開示するのが(もう一つの質問も)必要だと思います

投稿2019/01/21 02:25

papinianus

総合スコア12705

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

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

退会済みユーザー

退会済みユーザー

2019/01/21 16:45

コールバックとして指定したページのアドレスをURLという文字にした覚えがなく、どうすればよいかわかりません。 逆にコールバックとして指定する方法はございますか?
papinianus

2019/01/22 05:31 編集

> コールバックとして指定したページのアドレスをURLという文字にした覚えがなく https://teratail.com/questions/169921 において、「var slackUrl = ["URL"];」となさっておられます。 ここを、正しい(doPostが書いてあるプロジェクトの)受け皿URLにしてください。 元来この2つの質問は一つでなければ、答えようがないです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問