@openworkspace/forms
v0.1.1
Published
Google Forms API client for forms and responses
Downloads
186
Maintainers
Readme
@openworkspace/forms
Google Forms API client for OpenWorkspace -- get, create, responses.
Part of the OpenWorkspace monorepo.
Install
npm install @openworkspace/forms @openworkspace/coreUsage
import { createHttpClient } from '@openworkspace/core';
import { getForm, createForm, addQuestion, listResponses } from '@openworkspace/forms';
const http = createHttpClient({ auth: { accessToken: 'token' } });
// Get a form
const result = await getForm(http, 'formId');
if (result.ok) {
console.log(result.value.info?.title);
for (const item of result.value.items ?? []) {
console.log(item.title);
}
}
// Create a form
const form = await createForm(http, { info: { title: 'Feedback Survey' } });
// Add a question
await addQuestion(http, 'formId', {
title: 'How was your experience?',
questionItem: {
question: { choiceQuestion: { type: 'RADIO', options: [{ value: 'Great' }, { value: 'OK' }, { value: 'Poor' }] } },
},
});
// List responses
const responses = await listResponses(http, 'formId');API
All functions take an HttpClient as the first parameter and return Result<T, E>.
getForm(http, formId)-- Get form metadata and itemscreateForm(http, form)-- Create a new formbatchUpdateForm(http, formId, requests)-- Batch update a formaddQuestion(http, formId, item)-- Add a question itemdeleteItem(http, formId, index)-- Delete an item by indexlistResponses(http, formId, options)-- List form responsesgetResponse(http, formId, responseId)-- Get a single response
