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 specjalne wymagania dotyczące autoryzacji znajdziesz w przewodniku Wykonywanie 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. Przewodnik Wykonywanie funkcji pokazuje, jak zaimplementować żądanie wykonania 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ł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
        }]
      }]
    }
  }
}