2017-12-28 23 views
0

Ich habe eine Spreadsheet mit einigen Apps Script Funktionen daran gebunden.rufen Sie eine Google Spreadsheets Apps-Skript-Funktion von Google Tabellen API v4

Ich habe auch einen Android Client mit Google Sheets API v4, um mit dieser Tabelle zu interagieren.

Gibt es eine Möglichkeit für den Android-Client, eine Funktion im Code Apps Script aufzurufen/auszuführen?

Der Grund, warum ich Code auf der Apps Script Seite, und nicht einfach auf dem Android Client ausgeführt werden muss, ist, weil ich einige E-Mails senden, wenn etwas mit dem Dokument passiert, und ich möchte die E-Mail gesendet werden aus dem Konto des Besitzers der Tabelle und nicht von dem über die API authentifizierten Android-Nutzer.

Ich weiß, dass ich Funktionen implizit auslösen kann, indem ich z. B. Zeilen zu einem Dokument hinzufüge, aber gibt es eine Möglichkeit, eine bestimmte Funktion direkt auszuführen?

Antwort

1

Ja. Sie können GET and POST requests zu Google Apps-Skripten machen. von überall her, die Anrufe vom Typ REST einschließlich Clients tätigen kann. Wenn du eine Authentifizierung benötigst, gibt es auch das apps-script client libraries. Ich habe ein kurzes Skript geschrieben, um von einer Anfrage von einem Apps-Skript zu einem anderen zu mailen here. Aber es würde funktionieren, wenn Sie das E-Mail-Skript auch von Ihrem Client aus aufrufen würden.

+0

Dank! das kann funktionieren, aber das erlaubt es jedem, meine Funktionen auszulösen, auf irgendeine Weise, die nur Benutzern mit Zugriff auf meine Google-Tabelle erlaubt, diese Funktion auszulösen? – marmor

+0

Sie können ein benutzerdefiniertes Authentifizierungs-Token in den Mix aufnehmen. Fügen Sie es entweder als Parameter in der Anforderung oder im Textkörper hinzu. Wenn die Anforderung beim Endpunkt eintrifft, überprüfen Sie, ob das benutzerdefinierte Authentifizierungs-Token mit dem übereinstimmt, das Sie für eine Variable im Endpunkt gespeichert haben. –

+0

Ich werde das überprüfen, danke – marmor

1

Bereitstellen von Google Apps Script als Web Apps>reference, durch diese Weise können Sie Funktion Get (e) oder Post (e) und rufen andere Funktionen innerhalb einer von ihnen mit Bedingungen laufen ....

1

Sie haben vielleicht die Antwort auf Ihre Frage erhalten. Gerade falls Sie nicht, unten sind einige Punkte, die bei Ihrer Entwicklung helfen können:

1) Erstellen Sie die Server-Seite Skript (dh Google Apps Script) Funktion wie gewohnt:

function myFunction(inputVar) { 
// do something 
return returnVar; 
} 

2) erstellen eine doGet (e) oder doPost (e) Funktion wie unten - in die gleiche sein .gs mit der Funktion in 1 Datei):

function doGet(e) { 

    var returnVar = ""; 
    if (e.parameter.par1 != null) { 
     var inputVar = e.parameter.par1; 
     returnVar = myFunction(inputVar); 
    } 

    return HtmlService.createHtmlOutput(returnVar); 

} 

3) veröffentlichen Sie und Ihr Projekt als Webapp bereitstellen. Notieren Sie die bereitgestellte URL.

4) Von Ihrem Android-Client zu tun mit der URL HTTP-Aufruf wie: your_webapp_url par1 = "Eingabewert"

Verwandte Themen