0

クライアントが記入するGoogleフォームがあります。新しい人がアンケートに記入するたびに、フォームでGoogleの連絡先を自動的に作成するにはどうすればよいですか。Gmailに新しい連絡先を作成するためだけに、毎回コピーして貼り付ける必要はありません。

このスクリプトを使用しようとしていますが、テストデータを使用して実行しようとするとエラーが発生します

function onFormSubmit(e) {
   var timestamp = e.values[0];
   var firstName= e.values[1];
   var lastName= e.values[2];
   var email= e.values[3];
   var phone= e.values[4]; 
   ContactsApp.createContact( timestamp  ,  firstName , lastName ,  email , phone );
 }

TypeError:未定義からプロパティ「値」を読み取ることができません。(2行目

4

2 に答える 2

0

関数には「電話」引数はありませんcreateContact。デバッグが難しいトリガーから作成する前に、簡単な連絡先を作成するための簡単な関数を作成して、正しく設定されていることを確認しましたか?

また、フォーム送信パラメータの古いエラーを覚えています。これは戻ってくる可能性があります。とにかく、toStringすべてのパラメータにを追加しても問題ありません。例えば

var email = e.values[3].toString(); //just to be sure
于 2012-06-03T05:03:43.923 に答える
0

関数に渡されるイベントがないため、関数を手動で実行しようとすると、そのエラー メッセージが表示されます。

投稿の残りの部分は無視してください (Henrique のコメントを参照してください)。

ドキュメントによると:

イベントは、引数 (e) としてすべてのイベント ハンドラに渡されます。(e) 引数に属性を追加して、トリガーの動作方法をさらに定義したり、スクリプトのトリガー方法に関する情報を取得したりできます。

属性を使用する場合でも、上記のセクションで説明したように、[リソース] メニューからトリガーを設定する必要があります。

https://developers.google.com/apps-script/guide_events#TriggerAttributes

この理由を説明することはできませんが、単純なイベント ハンドラー (関数 onFormSubmit という名前) を使用し、同じ関数にインストール可能なイベント ハンドラーを適用する必要があるようです。次に、少なくとも私にとっては、期待どおりに機能します。

HTH、アダム

于 2012-05-29T00:43:09.943 に答える