Thank you for your response. If I proceed with Bubble’s built-in authentication, it only grants me scopes like openid, email, and profile. As far as I know, this level of permission does not allow me to access shared documents on Google Workspace Shared Drives (indeed, User A needs to access documents created by User B but shared with them).

My plan is to use Bubble’s login system purely for session management; my users won’t need separate usernames or passwords beyond their @mycompany.com accounts. When a session ends, they’ll re-authenticate via Google OAuth. (Note: The credentials I created in Google Console are set to “internal” and only allow users within my Google Workspace.)

If, as you mentioned, there’s a way to get the required permissions during login without manual management, and if I could maintain that access throughout the session, I’d be happy to use it. However, my concern is that even if the Bubble session persists, the access token will eventually need refreshing. I don’t want users to be forced to re-login each time—I’d prefer to continue the Google session seamlessly using the refresh token.

In my initial message, I shared the error returned by the console. However, when I check the Bubble logs, I also see a different message at this stage:

“Page was loaded /. Anonymous user: Action condition failed”

Unfortunately, there aren’t any other details available in the logs beyond this. I will try the approaches you mentioned—switching to form-data, enabling the querystr checkbox, or using the body format with code=<code>&redirect_uri=... along with the correct content-type header.

I appreciate the help and will test these out to see if they can solve the issue.