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

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

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

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

Google Apps Script

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

1回答

801閲覧

このソースコードの場合の関数の引数の渡し方がわかりません。助けてください(TT)

MasakiTM

総合スコア115

LINE Messaging API

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

Google Apps Script

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

1クリップ

投稿2020/06/18 10:59

編集2020/06/18 12:00

Googleフォームのスクリプトトリガーで下記のソースコードの「sendform」が実行されるように設定しています。関数sendformの中の変数「u」と「msgn」の中身を他の関数に渡したのですが、渡し方がわかりません。ご教示お願いします。

Google

1//関数「sendform」で引数uとmsgnを取得したい 2 3var access_token = "アクセストークン" 4function sendform(e){ 5 var items = e.response.getItemResponses(); 6 var msg = ''; 7 for (var i = 0; i < items.length; i++) { 8 var item = items[i]; 9 var q = item.getItem().getTitle(); 10 var a = item.getResponse(); 11 msg += q + ': ' + a + '\n'; 12 //返信用 13 if(q=="UserID"){ 14 var u = a; //このvar u を渡したい 15 } 16 } 17var to = 'メールアドレス'; 18GmailApp.sendEmail(to, 'タイトル', msg); 19 20 var msgn = ''; 21 for (var i = 0; i < items.length; i++) { 22 var itemn = items[i]; 23 var v = itemn.getItem().getTitle(); 24 if(v=="UserID"){ 25 continue; 26 } 27 var w = itemn.getResponse(); 28 msgn += v + ': ' + w + '\n\n'; //このmsgnを渡したい 29} 30 createMessage(); //ここで下の関数を実行 31} 32 33//---------------------------------------------------- 34//2を渡したい関数 35function createMessage() { 36message = "(msgnをここに渡したい)"; 37return push(message); 38} 39 40//---------------------------------------------------- 41//1を渡したい関数 42function push(text) { 43 var url = "https://api.line.me/v2/bot/message/push"; 44 var headers = { 45 "Content-Type" : "application/json; charset=UTF-8", 46 'Authorization': 'Bearer ' + access_token, 47 }; 48 var postData = { 49 "to" : (var uをここに渡したい), 50 "messages" : [ 51 { 52 'type':'text', 53 'text':text, 54 } 55 ] 56 }; 57 var options = { 58 "method" : "post", 59 "headers" : headers, 60 "payload" : JSON.stringify(postData) 61 }; 62 return UrlFetchApp.fetch(url, options); 63} 64 65

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

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

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

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

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

guest

回答1

0

ベストアンサー

引数を使って渡せばよいのでは。

js

1createMessage(2); //ここで下の関数を実行 2/* 3中略 4 */ 5function createMessage(test) { 6message = PropertiesService.getScriptProperties().getProperty("msgnm"); 7message = "(" + test + ")"; 8return push( message, test ); 9} 10/* 11中略 12 */ 13function push( text, test ) { 14 // 略 15}

投稿2020/06/18 11:19

kei344

総合スコア69606

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

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

MasakiTM

2020/06/18 14:14 編集

回答ありがとうございます。 コードがわかりにくくて申し訳ございません。 簡単にしました。var uとvar msgnの中身を入れたいということです。 それとコード「message = PropertiesService.getScriptProperties().getProperty("msgnm");」は不要なコードであったため、質問から削除しました。 function sendform(e){ var u = "test"; var msgn="test2”; createMessage(); } function createMessage() { message = (var msgnの中身test2をここへ代入); //ここが知りたい return push(message); } function push(text) { var postData = { "to" : (var uの中身testをここへ代入), //ここが知りたい "messages" : [ { 'type':'text', //下のtextの部分は、送信されるメッセージが入ります。createMessageという関数で定義したメッセージがここに入ります。 'text':text, } ] }; }
kei344

2020/06/18 12:04

回答は特に何も変わりませんね。 「引数を使って渡せばよいのでは。」 書き方についても例示はしています。
MasakiTM

2020/06/18 12:51

動きませんでしたがこんな感じじゃだめなんですか? 全くわからないのです。 createMessage(msgn); push(u); /* 中略 */ function createMessage(msgn) { message = "msgn"; return push( message ); } /* 中略 */ function push( text, u ) { // 略 "to" : u, "messages" : [ { 'type':'text', 'text':text, // 略
kei344

2020/06/18 13:20

createMessage関数の中でpush関数を呼んでいるので、push関数で使う値はcreateMessage関数に渡しておくのが良いでしょう。 createMessage( msgn, u ); // ※1 function createMessage( msgn, u ) { message = "msgn"; return push( message, u ); // ※1でreturn の結果を使っていない } function push( text, u ) { // 略 "to" : u, "messages" : [ { 'type':'text', 'text':text, // 略
MasakiTM

2020/06/18 13:36

うおおおおお!動きました!!!!すごい!!!! 助かりました!本当にありがとうございました! 感謝です!!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問