{"id":23430142,"url":"https://github.com/softplus/googleformpost","last_synced_at":"2025-09-18T13:28:01.822Z","repository":{"id":162696099,"uuid":"637141137","full_name":"softplus/GoogleFormPost","owner":"softplus","description":"Arduino / Platform.io library to add data to Google Spreadsheets via Google Forms, without API or authentication.","archived":false,"fork":false,"pushed_at":"2023-05-06T19:30:43.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T14:18:17.739Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softplus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-06T16:26:13.000Z","updated_at":"2023-05-06T18:39:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"e489f81d-7fc2-4238-80ac-7194e38437ea","html_url":"https://github.com/softplus/GoogleFormPost","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/softplus/GoogleFormPost","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softplus%2FGoogleFormPost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softplus%2FGoogleFormPost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softplus%2FGoogleFormPost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softplus%2FGoogleFormPost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softplus","download_url":"https://codeload.github.com/softplus/GoogleFormPost/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softplus%2FGoogleFormPost/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275773186,"owners_count":25525980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-23T08:15:53.109Z","updated_at":"2025-09-18T13:28:01.780Z","avatar_url":"https://github.com/softplus.png","language":"C++","readme":"# GoogleFormPost\nArduino / Platform.io library to add data to Google Spreadsheets via Google Forms, without API or authentication.\nSpecifically for ESP-8266 and ESP32 platforms.\n\n[MIT license](LICENSE) / (c) 2023 [John Mueller](https://johnmu.com/)\n\n![Release](https://img.shields.io/github/v/release/softplus/GoogleFormPost?include_prereleases) -\n[![arduino-library-badge](https://www.ardu-badge.com/badge/GoogleFormPost.svg?)](https://www.ardu-badge.com/GoogleFormPost) -\n[![Build with PlatformIO](https://img.shields.io/badge/PlatformIO-Library-orange?)](https://registry.platformio.org/libraries/softplus/GoogleFormPost)\n\n*This works with the ESP8266 Arduino platform* - https://github.com/esp8266/Arduino\n\n*This works with the ESP32 Arduino platform* - https://github.com/espressif/arduino-esp32\n\n# Usage\n\n## Installing\nYou can either install through the Arduino Library Manager or checkout the latest changes or a release from github. \nTo use this, you *must* also set up a Google Form and Spreadsheet (below).\n\n### Install through Library Manager\n__Works with release 2.4.0 or newer of the [ESP8266 core for Arduino](https://github.com/esp8266/Arduino)__\n - in Arduino IDE got to Sketch/Include Library/Manage Libraries\n  ![Manage Libraries](http://i.imgur.com/x.png)\n\n - search for GoogleFormPost\n  ![GoogleFormPost package](http://i.imgur.com/x.png)\n\n - click Install and start [using it](#using)\n\n###  Checkout from github\n__Github version works with release 2.4.0 or newer of the [ESP8266 core for Arduino](https://github.com/esp8266/Arduino)__\n- Checkout library to your Arduino libraries folder\n\n## Example code\n\nExample code is in `/examples/`.\n\n```c++\n#include \"GoogleFormPost.h\"\n\n// ... connect to your Wifi, get data, etc\n// ... when you're ready ...\n\n#define YOUR_FORM_URL \"https://docs.google.com/forms/d/e/1FA...\"\n#define FIELD_ID_1 \"entity.12345678\"\n#define FIELD_ID_2 \"entity.109876543\"\n\n    String yourDataString = ...;\n    String yourOtherDataString = ...;\n\n    GoogleFormPost gf;\n    gf.setFormUrl( YOUR_FORM_URL );\n    gf.addData( yourDataString, FIELD_ID_1 );\n    gf.addData( yourOtherDataString, FIELD_ID_2 );\n    gf.send();\n    // done! Total time ca 2 seconds\n\n// Alternately, if you don't have the field IDs, you can read them:\n\n    GoogleFormPost gf;\n    gf.setFormUrl( YOUR_FORM_URL );\n    gf.readFields();\n    gf.addData( yourDataString );\n    gf.addData( yourOtherDataString );\n    gf.send();\n    // done! Total time ca 6-7 seconds\n\n```\n\n## Setting up your Form and Spreadsheet\n\nTo submit to your own form and spreadsheet, you have to do the following:\n\n1. Create a new Google Form ( https://form.new/ works).\n2. Add a few \"short answer\" fields (however many you want).\n3. Click on \"Responses\" and \"Link to Sheets\" to create a spreadsheet.\n4. Click on the eyeball-symbol (\"preview\") to open the form.\n5. Copy \u0026 paste that URL into your code.\n6. That's it.\n\n# Usage notes\n\nComments:\n\n* Use the specified form URL; does not support redirects\n* Reading form fields takes about 4.5s on an ESP01 (ESP8266); be faster by supplying the fields yourself. The code is not super-efficient, but primarily reading from wifi is slow with these devices.\n* Submitting form data takes about 1.6s on an ESP01 (ESP8266)\n* Code uses Arduino-style \"String\" variables; can be converted to std::string if you hate Strings.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftplus%2Fgoogleformpost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftplus%2Fgoogleformpost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftplus%2Fgoogleformpost/lists"}