Comments on: ESP32 Datalogging to Google Sheets (using Google Service Account) https://randomnerdtutorials.com/esp32-datalogging-google-sheets/ Learn ESP8266, ESP32, Arduino, and Raspberry Pi Mon, 07 Apr 2025 18:48:58 +0000 hourly 1 https://wordpress.org/?v=6.8.1 By: Kevin Maher https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-1024475 Mon, 07 Apr 2025 18:48:58 +0000 https://randomnerdtutorials.com/?p=144933#comment-1024475 Hi Rui and Sara,
excellent job with the tutorials. I have learned so much! The Googlesheets upload works great!. One question – how can I suppress the verbose response back to my serial from google each time a data packet is received? I would like to toggle ON as needed for trouble shooting, when necessary. Thanks

]]>
By: Edward https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-1016367 Fri, 14 Mar 2025 08:59:00 +0000 https://randomnerdtutorials.com/?p=144933#comment-1016367 In reply to Frank.

Is there any solution?

]]>
By: Sara Santos https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-995942 Mon, 30 Dec 2024 22:25:02 +0000 https://randomnerdtutorials.com/?p=144933#comment-995942 In reply to Nick.

Hi.
Great.
Thank you so much for describing this.
This will definitely be helpful for other readers.
Regards,
Sara

]]>
By: Nick https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-995547 Sun, 29 Dec 2024 11:59:51 +0000 https://randomnerdtutorials.com/?p=144933#comment-995547 Thank you for the hand-holding to get through this!

I solved a problem that others might find useful. After following your instructions exactly, I got the following error:
Token info: type = OAuth2.0 access token, status = on exchange request
Token info: type = OAuth2.0 access token, status = error
Token error: code: -1, message: Missing required parameter: assertion

What happened is that:
– I used a project name containing spaces, which Google automatically converted to hyphens in the service account.
– when copying the JSON file that includes the private key to my computer, I used the Windows default app Notepad.
– When I pasted the Notepad entry for “client_email” into the Arduino IDE, the IDE incorrectly added spaces between the hyphens. The IDE did this all by itself – must be some kind of bug. I checked this several times and each time the behavior was the same – it added unwanted spaces to the name. Those spaces had to be removed for the OAuth2.0 error to go away, leading to the lovely:

Token info: type = OAuth2.0 access token, status = on initializing
Token info: type = OAuth2.0 access token, status = on signing
Token info: type = OAuth2.0 access token, status = on exchange request
Token info: type = OAuth2.0 access token, status = ready

and a working ESP32-S2 -> Gsheets link!
(except every entry into the spreadsheet is repeated twice, I’ll have to figure that out later)

This might save someone some time to figure out at least a potential solution for the “OAuth2.0 access token, status = error” issue.

]]>
By: Larry Ehnert https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-991559 Sun, 15 Dec 2024 02:02:25 +0000 https://randomnerdtutorials.com/?p=144933#comment-991559 In reply to Frank.

Frank…
I had this same issue and I wish I knew what I was doing enough to explain how exactly I fixed it…but I did get it working after two days of trying all kinds of stuff.

Firstly, I had trouble creating the RSA Key. But I followed the link on disabling organization policies… https://cloud.google.com/resource-manager/docs/secure-by-default-organizations?_gl=1*nuan65*_ga*MTU1MTI2NzI2Ni4xNzM0MTM4Nzcy*_ga_WH2QY8WWF5*MTczNDE5NjM2Ni41LjEuMTczNDE5NjU2OS42MC4wLjA.#disable_organization_policies

I had to go into something called the google cloud SKD and run the command:

Cloud SDK>gcloud org-policies delete iam.disableServiceAccountKeyCreation –organization=62373103449
Deleted policy [organizations/62373103449/policies/iam.disableServiceAccountKeyCreation].
{}

This deleted the policy and let me create a Key. I was feeling good, but then I got the same error message you got.
I went back to the Project and made the policy the same as the parent. I had been playing with these settings for quite a while. I also had to reenable the two google API’s. And then IT WORKED.

I don’t really have any understanding about what is really going on with this stuff, but I am glad my persistence paid off. Good luck to you.

]]>
By: Larry Ehnert https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-991555 Sun, 15 Dec 2024 01:22:36 +0000 https://randomnerdtutorials.com/?p=144933#comment-991555 I GOT IT!!!!

I think it was a permissions issue with the project having different permissions from the organization. I don’t even know what they really means….but I am getting data into a spreadsheet.

Thank you so much for posting these tutorials. It is a generous service you are providing. You can see what I am doing with this to make a very cheap curling rock timer system. http://www.larryrocktimer.com

]]>
By: Larry Ehnert https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-991538 Sat, 14 Dec 2024 23:26:34 +0000 https://randomnerdtutorials.com/?p=144933#comment-991538 In reply to Sara Santos.

I finally got the Key created. It took a while to run the correct command in the Google Cloud SDK Shell. Here is the command…

gcloud org-policies delete iam.disableServiceAccountKeyCreation –organization=62373103449
It seems that recently the Google has disabled Key creation by default, so now we need to delete this Policy..

I entered the credentials, compiled and uploaded.
Here is my serial monitor output…Seems like there is still a problem with the RSA Key. Thanks for your help.

ESP Google Sheet Client v1.4.4

Connecting to Wi-Fi.
Connected with IP: 192.168.1.157

Token info: type = OAuth2.0 access token, status = on initializing
Token info: type = OAuth2.0 access token, status = on signing
Token info: type = OAuth2.0 access token, status = error
Token error: code: -107, message: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSA: BearSSL, isRSToken info: type = OAuth2.0 access token, status = error

]]>
By: Sara Santos https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-991463 Sat, 14 Dec 2024 14:54:04 +0000 https://randomnerdtutorials.com/?p=144933#comment-991463 In reply to Larry Ehnert.

Hi.
Can you tell me at which step of the tutorial you’re stuck?
Regards,
Sara

]]>
By: Larry Ehnert https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-991382 Sat, 14 Dec 2024 08:29:13 +0000 https://randomnerdtutorials.com/?p=144933#comment-991382 I am having difficulty creating the Key in the console.cloud.google service account. I have tried to change permissions with no luck. Maybe someone has a solution. It seems like the google team made a default of “The organization policy constraint ‘iam.disableServiceAccountKeyCreation’ is enforced on your organization.” and I am unable to un-enforce this policy.

Also, would this same idea work with the esp32 in softAP mode so that no wifi connection would be necessary?

Thanks for you tutorials. I don’t understand all of it, but learn something by plugging away at them.

]]>
By: Pouf https://randomnerdtutorials.com/esp32-datalogging-google-sheets/#comment-990163 Mon, 09 Dec 2024 17:34:39 +0000 https://randomnerdtutorials.com/?p=144933#comment-990163 In reply to Jean.

Hi Jean,

I have the same issue as you, and I don’t know how to fix it.
What is it due?

Regards

]]>