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

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

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

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

Q&A

解決済

2回答

426閲覧

gasを使ってchatwork_idを取得したい。

退会済みユーザー

退会済みユーザー

総合スコア0

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

0グッド

0クリップ

投稿2019/02/02 06:33

編集2019/02/02 08:11

#やりたいこと
googleFormに名前とやることを記入すると、自動でchatworkにタスクが追加されるということをしたいです。
その際に『誰が』、formを入力したかを判別するために、記入した名前の人に対応しているchatwork_idを取得したいです。

過程

①googleformに入力された名前を取得
②取得した名前と紐付いているchatwork_idを取得
#現在できていること
イメージ説明
上記の写真の様に、名前とchatwork_idはmemberシートに書き出せてある状況です。
#知りたいポイント
gasで(js)で名前からidを取得するロジック(コード)がわからない状況です。
#現在のコード

spredsheet

1var SPREADSHEET_MEMBERS_SHEET = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Member'); 2var name = googleForm.name(e); 3 4function spreadsheet_valueWith() { 5 var value = SPREADSHEET_MEMBERS_SHEET.getValues(); 6 return value; 7} 8 9var spreadsheet = { 10 getChatworkId: function(name) { 11 var peopleWithValue = spreadsheet_valueWith(); 12 for(var i = 2; i < peopleWithValue.length; i++) { 13 var person = peopleWithValue[i]; 14 if (person.name.val === name) { 15 return person.chatwork_id.val; 16 } 17 } 18 } 19}

googleFrom

1var googleForm = { 2 getName: function(e) { 3 var value = e.namedValues["名前"][0]; 4 return value; 5 }, 6 getDate: function(e) { 7 var value = e.namedValues["日付"][0]; 8 return value; 9 }, 10 getDo: function(e) { 11 var value = e.namedValues["やりたいこと"][0]; 12 return value; 13 } 14} 15 16

#みて欲しいところ
getChatworkIdのメソッドが、formの名前から、それに紐付いているidを取得できているかどうか。

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

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

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

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

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

macaron_xxx

2019/02/04 01:29

スクリプトが全然足りてないので、判断できないです。 全部または必要な箇所すべてを載せてください。
退会済みユーザー

退会済みユーザー

2019/02/08 05:33

すいません! 自己解決しました!
guest

回答2

0

解決の手順としては、formから名前を取得してそれに対応するidを取得する
それをchatworkAPIから提供されているものに変数で入れるだけです。

以下のコードで取得した名前に対応するidを持ってくれます。

getchatworkid

1 identifyUser: function(e) { 2 var SPREADSHEET_MEMBERS_SHEET = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Member'); 3 var lastRow = SPREADSHEET_MEMBERS_SHEET.getLastRow(); 4 5 for(var i = 2; i < lastRow; i++) { 6 var values = SPREADSHEET_MEMBERS_SHEET.getRange(i, 1, 1, 2).getValues(); 7 var n = googleForm.getName(e); 8 if (values[0][0] === n ) { 9 var ss = SPREADSHEET_MEMBERS_SHEET.getRange(i, 2, 1, 2).getValue(); 10 var sss = ss.toFixed(); 11 return sss; 12 } 13 } 14}

投稿2019/02/08 06:29

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

chatworkのAPIの問題かと思ったら、事前に取れてんのですね。

javascript

1var SPREADSHEET_MEMBERS_SHEET = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Member'); 2var name = googleForm.name(e); 3var id = spreadsheet.getChatworkId(name); //これだとして 4 5function spreadsheet_valueWith() { 6 var value = SPREADSHEET_MEMBERS_SHEET.getValues(); 7 return value; 8} 9 10var spreadsheet = { 11 getChatworkId: function(name) { 12 var peopleWithValue = spreadsheet_valueWith(); 13 for(var i = 1; i < peopleWithValue.length; i++) { //1からじゃね?? 14 var person = peopleWithValue[i]; 15 if (person[0] === name) { //こういう感じの参照しか無理 16 return person[1]; //ここもこういうかたちしか無理 17 } 18 } 19 } 20}

投稿2019/02/04 07:55

papinianus

総合スコア12705

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

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

退会済みユーザー

退会済みユーザー

2019/02/08 05:34

自己解決できました! いつもご回答いただきありがとうございます!
papinianus

2019/02/08 05:48

自己解決したら、その内容を回答として書いてくださいな
退会済みユーザー

退会済みユーザー

2019/02/08 06:21

ごめんなさい!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問