2016-09-02 3 views
13

onFormSubmit() 트리거를 사용하여 양식에 바인딩 된 스크립트를 사용하여 Google 양식에서 응답 세부 정보를 수집하려고합니다.양식 제출시 Google 양식에 대한 응답이 없습니다

대부분의 경우 세부 정보는 오류없이 수신되지만 잠시 후에 오류가 발생합니다. 트리거가 수신되었지만 스크립트에 데이터가 전달되지 않았습니다. 응답은 Google 양식 콘솔에서 수신되지만 스크립트로 전달되지 않습니다. 데이터를 수신

코드 : 오류의 경우

function onFormSubmit(e) 
{ 

    Logger.log("A response has been received!"); 
    Logger.log(e); 
    var resp = e.response.getItemResponses(); //capturing trigger event output 
    var form = e.source; 
...... 

실행 성적표 :

[16-09-27 07:29:15:073 PDT] Starting execution 
[16-09-27 07:29:15:096 PDT] Logger.log([A response has been received!, []]) [0 seconds] 
[16-09-27 07:29:15:097 PDT] Logger.log([{authMode=FULL, triggerUid=xxxxxxx41}, []]) [0 seconds] 
[16-09-27 07:29:15:099 PDT] Execution failed: TypeError: Cannot call method "getItemResponses" of undefined. (line 18, file "Code") [0.002 seconds total runtime] 

지금까지, 나는 양식을 복제하고 모든 권한을 다시 설정하여 바로 잡아왔다. 그러나 나는 이것을 다시하지 않는 해결책을 원합니다. 제 10 회 중복에 지금 :(사람이이 문제에 직면 했습니까? 내가 성공적으로 응답을받을 때!

도와주세요, e뿐만 아니라 응답 키를 가지고 있었다.

+0

사용자가 응답을 제공했는지 확인 했습니까? –

+0

예. 응답은 해당 양식에 대한 Google 양식 대시 보드에 기록됩니다. –

+0

코드를 보여줄 수 있습니까? – Fralec

답변

5

이것은 스크립트를 방지해야 그 주변의 일이다 파괴에서 :.

function onFormSubmit(e) 
{ 
    Logger.log("A response has been received!"); 
    // Check if e is defined 
    if (e) { 
    // Any code that use e should be inside this block 
    Logger.log(e); 
    var resp = e.response.getItemResponses(); //capturing trigger event output 
    var form = e.source; 
    } else { 
    // Log if e is undefined 
    Logger.log('e is undefined!'); 
    } 
...... 

나는 당신이 구글에서 지원 문제를 조사하기 위해 연락해야 특히 당신이 콘솔에서 응답을 볼 수있는 루벤 동의

0

당신은 활성 트리거로 다시 이동해야 할 수도 있습니다, 트리거를 삭제하고 다시 추가하면 새 액세스 정보를 묻는 메시지가 나타납니다.

관련 문제