Clojure wrapper for the Google Forms API (v1).
Provides idiomatic Clojure functions for creating and managing Google Forms, reading form responses, and updating form structure via batch updates.
Auth: use csl/scoped-delegated-credentials or csl/user-credentials with the appropriate scope:
Form structure is modified exclusively through batch-update, which takes a vector of request maps (kebab-case keys, coerced to camelCase internally). Convenience builders (create-item-request, delete-item-request, etc.) return plain Clojure maps for use with batch-update.
Responses are read-only — they are submitted by form respondents, not the API.
All list functions return {:data [...] :next-page-token "..."}. :next-page-token is absent when there are no further pages.
All functions return {:data ...} on success or {:error ...} on failure.
Clojure wrapper for the Google Forms API (v1).
Provides idiomatic Clojure functions for creating and managing Google Forms,
reading form responses, and updating form structure via batch updates.
Auth: use csl/scoped-delegated-credentials or csl/user-credentials with
the appropriate scope:
- FormsScopes/FORMS_BODY (read + write forms)
- FormsScopes/FORMS_BODY_READONLY (read-only access to forms)
- FormsScopes/FORMS_RESPONSES_READONLY (read-only access to responses)
- FormsScopes/DRIVE (full Drive access — forms are Drive files)
- FormsScopes/DRIVE_FILE (only files used with this app)
- FormsScopes/DRIVE_READONLY (read-only Drive access)
Form structure is modified exclusively through batch-update, which takes a
vector of request maps (kebab-case keys, coerced to camelCase internally).
Convenience builders (create-item-request, delete-item-request, etc.) return
plain Clojure maps for use with batch-update.
Responses are read-only — they are submitted by form respondents, not the API.
All list functions return {:data [...] :next-page-token "..."}.
:next-page-token is absent when there are no further pages.
All functions return {:data ...} on success or {:error ...} on failure.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |