6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

「GAS」から「Integromat」への連携で、スクリプト部分に苦戦した話

Last updated at Posted at 2021-05-30

「買い物リスト」の作成にあたり、以下のアプリケーション連携をしようとした時の話です。
「GAS」のスクリプト部分で躓いたため、初心者の方の参考になればと思い、記事にしました。

##構成
以下、全体構成のうち、本記事は赤枠部分について記録しています。
image.png

##やりたかったこと
スプレッドシートに書き込んだ買い物リストの項目のうち、最大15行分のデータを出力したいのですが、なぜか先頭の1行しか表示されず。
image.png

##失敗したコードはこちら

function myOutgoingFunction(){
 // Webhook URL
 //Integromatで作成したWebhookのURL(末尾にパラメータ用の「?text=」を付ける)
 const URL='https://hook.integromat.com/XXXXXXXXXXXXXXXXXXXXXXXXXXXX?text=';  


 //シートは一つしかないのでID指定の必要なし
 const sheet = SpreadsheetApp.getActiveSheet();

 //セルと取得する行数を指定する方法(A1から15行分取得)
 var name = sheet.getRange("A1:A15").getValues();


 // POSTする中身
 const Payload = {
    'content': name,
  };

 //パラメータを定義する
 const params = {
     'method'  : 'post',
     'contentType': 'application/json',
     'payload' : JSON.stringify(Payload),
   }
 // HTTPリクエスト送信
 const res = UrlFetchApp.fetch(URL,params);
}

##修正後のコードはこちら
POSTやリクエスト部分を書き換えることで、取得可能となりました。

function myOutgoingFunction(){
 // Webhook URL
 //Integromatで作成したWebhookのURL(末尾にパラメータ用の「?text=」を付ける)
 const URL='https://hook.integromat.com/XXXXXXXXXXXXXXXXXXXXXXXXXXX?text=';

 //シートは一つしかないのでID指定の必要なし
 const sheet = SpreadsheetApp.getActiveSheet();

 //セルと取得する行数を指定する方法(A1から15行分取得)
 var name = sheet.getRange("A1:A15").getValues().toString();

 //カンマを改行に置換しながらGETリクエストを投げる。
 UrlFetchApp.fetch(URL + encodeURIComponent(name.replace(/,/g,'\n')));
 }

元々のコードのうち、修正を加えたのは以下の箇所です。
取得したテキストを改行して表示させるため、replace処理を追加しています。

//セルと取得する行数を指定する方法(A1から15行分取得)
 var name = sheet.getRange("A1:A15").getValues().toString();

 //カンマを改行に置換しながらGETリクエストを投げる。
 UrlFetchApp.fetch(URL + encodeURIComponent(name.replace(/,/g,'\n')));

参考とした記事は、以下のとおりです。

##結果
思いどおりのデータが、LINE側で取得できるようになりました。
image.png

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?