2017-09-08 1 views
1

Beim Veröffentlichen eines Google Script als webApp ist es möglich, eine GET- und eine POST-HTTP-Methode pro Skript zu verwenden.ist es möglich, google Script 404 Fehler zurückzugeben?

Offensichtlich soll ein GET einige Daten holen. Wenn Sie jedoch versuchen, einen bestimmten Wert zu erhalten (z. B. mithilfe eines Filterparameters) und kein Wert gefunden wird, wie können Sie das Skript dazu zwingen, einen 404-Fehler zurückzugeben - nicht gefunden?

Zwei Möglichkeiten aus meiner Sicht:

  • einen 404 Fehler zurückgegeben (nicht sicher, ob es möglich ist)
  • immer eine Struktur Rückkehr von zu erleichtern, wenn es eine Übereinstimmung für Eingangsdaten war API. Etwas wie:

    { { "Fehler": "0, wenn alles in Ordnung ist zunächst ein spezifischer Code", "errormessage": "Beschreibung möglicher Fehler" }, "data": leer oder erfüllen Daten Abfrageergebnis abhängig von }

Antwort

1

ich glaube nicht, können Sie zur Zeit Antwortcodes in GAS eingestellte Kraft, aber Ihre zweite Option klingt machbar. So etwas wie dies könnte für Sie arbeiten:

function doGet(e){ 

    var json = handleResponse(e); 


    return ContentService.createTextOutput(JSON.stringify(json)) 
         .setMimeType(ContentService.MimeType.JSON); 
} 

Handler Funktion Beispiel:

function handleResponse(e) { 

    var arr = [1, 2, 3, 4, 5, 6, 7, 8]; 
    var param = e.parameter.yourParameter; 

    if (param) { 

    arr = arr.filter(function(element){ 

     return element > parseInt(param); 

}); 

    if (arr.length > 0) { 

      return {"result":arr}; 

     } else { 

      return {"error":"no value was found"}; 

      } 

} else { 

    return {"error":"query parameter not specified"}; 

} 

} 

auf der Empfängerseite können Sie dann übernehmen die Antwort auf der Grundlage der Eigenschaft enthält:

if ("result" in response) { 
    //do something 
} 

if ("error" in response) { 
    //do something 
} 
Verwandte Themen