Wykonywanie funkcji Apps Script

Interfejs Apps Script API (wcześniej interfejs 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, i otrzymać zwróconą odpowiedź.

Przykłady na tej stronie pokazują, jak można wykonywać niektóre typowe operacje za pomocą interfejsu API. Więcej informacji w tym o szczególnych wymaganiach autoryzacyjnych znajdziesz w poradnikach dotyczących wykonywania funkcji.

W tych przykładach obiekt zastępczy scriptId wskazuje, gdzie należy podać identyfikator projektu skryptu. Aby znaleźć identyfikator skryptu, wykonaj te czynności:

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

Wykonaj funkcję

Poniższe żądanie scripts.run wywołuje funkcję Apps Script o nazwie listFolderContent, przekazując jako argumenty plik folderId z Dysku i liczbę całkowitą MAX_SIZE. Funkcja jest wykonywana w trybie programistycznym, co oznacza, że jest wykonywana najnowsza zapisana wersja funkcji, niezależnie od tego, która wersja została wdrożona jako plik wykonywalny.

Protokół żądania przedstawiono poniżej. W przewodniku Wykonywanie funkcji znajdziesz informacje o tym, jak implementować żądanie wykonania w różnych językach za pomocą bibliotek klienta Google API.

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łanej 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
        }]
      }]
    }
  }
}