Wykonywanie funkcji Apps Script

Interfejs Apps Script API (dawniej Apps Script Execution API) umożliwia zdalne wykonywanie funkcji w projekcie skryptu, do którego masz dostęp. Aplikacja może wywołać daną funkcję Apps Script, podając w razie potrzeby parametry wejściowe, a potem otrzymać zwróconą odpowiedź.

Przykłady na tej stronie pokazują, jak za pomocą interfejsu API można wykonywać niektóre typowe operacje wykonawcze. Więcej informacji o specjalnych wymaganiach dotyczących autoryzacji znajdziesz w przewodniku Wykonywanie funkcji.

W tych przykładach do wskazywania miejsca podania identyfikatora projektu skryptu służą obiekty zastępcze scriptId. Aby znaleźć identyfikator skryptu:

  1. W lewym górnym rogu projektu Apps Script kliknij Project Settings (Ustawienia projektu) .
  2. Obok „Identyfikator skryptu” kliknij Kopiuj.

Wykonaj funkcję

Podane niżej żądanie scripts.run wywołuje funkcję Apps Script o nazwie listFolderContent, przekazując jako argumenty folderId Dysku oraz liczbę całkowitą MAX_SIZE. Funkcja jest wykonywana w trybie deweloperskim, co oznacza, że wykonywana jest najnowsza zapisana wersja funkcji niezależnie od tego, która wersja jest wdrożona jako wykonywalna.

Protokół żądania jest pokazany poniżej. Z przewodnika po wykonywaniu funkcji dowiesz się, jak wdrożyć żądanie uruchomienia w różnych językach za pomocą bibliotek klienta interfejsu API Google.

POST https://script.googleapis.com/v1/scripts/scriptId:run
{
  "function": "listFolderContent",
  "parameters": [
    folderId,
    MAX_SIZE
  ],
  "devMode": true
}

Odpowiedź na to żądanie po zakończeniu wywoływania funkcji Apps Script zawiera wyniki wykonania lub odpowiedź o błędzie. W tym przykładzie funkcja zwraca tablicę nazw plików:

{
  "response": {
    "result": [
      "fileTitle1",
      "fileTitle2",
      "fileTitle3"
    ]
  },
}

Jeśli podczas wykonywania skryptu Apps Script wystąpił błąd, odpowiedź może wyglądać tak:

{
  "response": {
    "error": {
      "code": 3,
      "message": "ScriptError",
      "details": [{
        "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError",
        "errorMessage": "The script enountered an exeception it could not resolve.",
        "errorType": "ScriptError",
        "scriptStackTraceElements": [{
          "function": "listFolderContent",
          "lineNumber": 14
        }]
      }]
    }
  }
}