前提・実現したいこと
Googleフォームに回答がされると、チャットワークに通知を行う機能を実装したいと
考えています。
複数のフォームの回答シートが1つのスプレッドシートにまとめられており、
回答があったら(行が追加されたら)一部の情報を拾って通知用のルームに投下したいです。
発生している問題・エラーメッセージ
別の作業者が、全く同じシートの構成で同じルームに通知している別スプレットシートに組んだ
コードをコピペして作成しましたがうまく通知されず、何が原因かが分かりません。
該当のソースコード
/* 専用フォームからの申込み通知 */ function autoreply() { /* newInquireNotice13(); newInquireNotice14(); */ } /* 専用フォームからの申込み通知 */ function newInquireNotice13() { // シート情報を取得 //作業するスプレッドシートを指定 var ss = SpreadsheetApp.openById("********"); var sheet = ss.getSheetByName('シート1'); // ラベル列を検索して返す関数 function colSearch(label) { for (i = 1; i <= sheet.getLastColumn(); i++) { if (sheet.getRange(1, i).getValue() == label) { return i; } } } // company, name, noticedの列数 var companyCol = colSearch("company"); var nameCol = colSearch("name"); var noticedCol = colSearch("noticed"); var supplypointCol = colSearch("supplypoint"); var urlCol= colSearch("url"); var dayCol= colSearch("day"); // 最新行のnoticedがtrue入ってなければ通知出してtrueにする関数 function newNotice() { lastRow = sheet.getRange("B:B").getValues().filter(String).length; //B列の最終行 var thisNoticed = sheet.getRange(lastRow, noticedCol); if (thisNoticed.getValue() !== true) { var name = sheet.getRange(lastRow, nameCol).getValue(); var company = sheet.getRange(lastRow, companyCol).getValue(); var supplypoint = sheet.getRange(lastRow, supplypointCol).getValue(); var pcpurl = sheet.getRange(lastRow, pcpurlCol).getValue(); var saitenday = sheet.getRange(lastRow, saitendayCol).getValue(); var message ="[info][title]フォームからの申込み[/title]" + " " + company +" "+ name +"さまからの依頼を承りました。\n" + "・場所 :"+" "+supplypoint +"\n" + "・URL :"+" "+url +"\n" + "・予定日 :"+" "+ Utilities.formatDate(day, 'JST', 'yyyy/MM/dd') +"[/info]" // 通知済のところをtrueにする sheet.getRange(lastRow, noticedCol).setValue(true); //投稿するルームを指定して投稿 var room_ID =ルームID;// https://www.chatwork.com/#!rid***** var token ='APIトークン代入';//自分のトークン var params = { headers : {"X-ChatWorkToken" : token}, //APIトークン method : "post", payload : { body : message, //タスクの内容 to_ids : 自分のアカウントID } }; var url = "https://api.chatwork.com/v2/rooms/" + room_ID + "/messages"; UrlFetchApp.fetch(url, params); //チャットワークAPIにリクエスト } } newNotice(); }
試したこと
チャットワークへのAPI連携は自分のアカウントで出来るように設定し
コードに組み込みましたがチャットへの投下が行われませんでした。
回答1件
あなたの回答
tips
プレビュー