0

Ich habe ein Power Shell-Skript, das Daten in Google Spreadsheet importiert. Funktioniert wie erwartet: Richten Sie die Projektanmeldeinformationen, Scope, Token-Aktualisierung ... ein. Nachdem die Daten importiert wurden, muss ich ein Google Apps-Skript aufrufen, das zur Tabelle gehört. Ich habe die Schritte gefolgt von: https://developers.google.com/apps-script/guides/rest/api (eingesetzt, gleiche Projekt, aktiviert API, denselben Benutzer ...)Google Execution API mit Aufruf von Google-Apps-Script = Fehler 403 (verboten)

Leider sagt PS Script (403 = Verboten):

Invoke-RestMethod : The remote server returned an error: (403) Forbidden. 
At S:\projekte\controlling\ctlac.ps1:163 char:12 
+ ... $result = Invoke-RestMethod -Headers @{Authorization = "Bearer $acc ... 
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException 
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand 

Dies ist die Codezeile mit dem Fehler:

$result = Invoke-RestMethod -Headers @{Authorization = "Bearer $accessToken"} -Uri $requestUrl -Method Post -ContentType "application/json" -Body $request |ConvertTo-Json With $request being: { "function": "fnTest" } 

Was fehlt mir? Soll es überhaupt funktionieren?

TIA

+0

In der Regel sind 403-Fehler mit Berechtigungen verknüpft. Weißt du, dass deine Authentifizierungsmethode funktioniert? –

+0

Ich möchte glauben, dass es funktioniert, weil alle anderen Spreadsheet-Operationen funktionieren. Leider nicht der API Explorer für die Google-Ausführungs-API, daher habe ich Schwierigkeiten, diesen Fehler zu beheben. Jede andere Möglichkeit herauszufinden, WARUM es verboten ist? – Mara

+0

leider nicht. Wir könnten es besser erforschen, wenn wir die Server besitzen, aber da es sich um eine Cloud-Lösung handelt, müssen wir uns mit den Informationen befassen, die wir erhalten. Können Sie Ihre Frage bearbeiten, um die vollständige Codezeile zu posten, die den Fehler verursacht? (Zeile 163 von ctlac.ps1) –

Antwort

0

aus denselben Dokumenten Lesen Sie zur Verfügung gestellt haben, stellen Sie sicher, dass Sie die requirements erfüllt:

  1. The Apps Script project containing the function must be deployed as an API executable.
  2. he calling application must supply the API a valid OAuth token. This OAuth token must cover all the scopes used by the script (not just the ones used by the called function).
  3. The script and the calling application must share the same Cloud Platform project.

Ableiten von Ihrem 403-Fehler, sind Sie mit # 2 Probleme haben, die ist bezogen auf Zugriffstoken. Stellen Sie sicher, dass Sie von OAuth autorisiert sind.

Verwandte Themen