Google Drive: get where a document must be signed
Automatically get where a document must be signed on docs.google.com. Read a Google Docs / Drive eSignature request without signing: who sent it, each signer and whether they have signed, and every field each signer must fill (signature, initials, date, name or text), with its page number and its position on the page (left, top, right, bottom as fractions of the page width and height, from the top-left corner). Text fields also come with their id (pass it to sign_document), the sender's hint, and the value once signed. Says which fields are for the signed-in account. Takes the PDF link from list_signature_requests or the request email. Refuses when the file has no signature request. When the browser is signed in to several Google accounts, pass the account to act as.
Input
url requiredLink to the PDF sent for signature (https://drive.google.com/file/d/<id>/..., as list_signature_requests returns) or the bare file id.
account optionalGoogle account to act as when the browser is signed in to several.
Output
fileId requiredstatus requiredThe request's status as Google gives it (for example inProgress, approved).
signers requiredrequestedBy requiredEmail of who sent the request.
title optionalFAQ
Create a Google Sheets spreadsheet
Create a new Google Spreadsheet in My Drive, optionally with a title. Returns spreadsheetId, url, and firstGid (always 0). The file lands in Drive root (My Drive); moving it elsewhere is a Drive action, not a Sheets one.
Sheets: write cells
Write a 2D block of values into one tab of a Google Spreadsheet, top-left at startCell, like the Sheets API: null leaves a cell as it is, "" clears it, anything else replaces it as if typed (dropdown rules and formatting stay; clearing a dropdown cell removes its dropdown). Returns range, rows, cols, saved once every edit is saved. A value the sheet refuses (data validation, outside the grid) stops the run with the sheet's own message. Values are parsed per the spreadsheet locale ("1.5" in a FR sheet becomes 1 May; prefix ' to force text); leading = enters a formula; needs edit rights.
Sheets: add tab
Add a tab to a Google Spreadsheet, optionally naming it in the same pass. Returns the new tab's gid and final name. Waits for the editor's save before resolving; needs edit rights.
