Services Plugins FAQs

Help needed with the Gmail API plugin

Hi @juraj.pal,

Thanks for feedback. As you can see, it is saying you need to place a List actually, because in your RepeatingGroup you want to fetch multiple entries and not a single one, so you need to change it as suggested in this issue message.

image

image

If you’d require more Bubble related help, it is best to post your request here instead - https://forum.bubble.io/

Hope it helps

Thanks for your help, Alex!

Is the idea that once the user authenticates and logs in with their Gmail account, the repeating group gets filled with the email field?

If so, can you please advise what else needs to be built? Right now, the group doesn’t get generated with emails once I have the users logged in (see below):

Thanks!
Juraj

Hi @juraj.pal,

Thanks for feedback. Well yes, once you authorize with your Google account, it should be populated with your emails data, but you actually need to display this data. Because now, you just set the RepeatingGroup with type of content and data source, but there is no content to be displayed yet. You can do it by using Text elements or any other way you want.

Please note that Bubble development and custom plugin implementations are beyond our support services, unfortunately. We can only provide a hint into right direction.

I’d highly recommend you research how RepeatingGroup element works within Bubble and how to fetch data from external API.

These resources might help:

Thanks for understanding. :pray:

Thanks @alexandru, I realize my last question was a bit dumb. Sorry about that! :slight_smile:

So one last question regarding the plugin documentation. I’m playing with different options for displaying the data in the Text element but I can’t find what do I need to refer to in the dynamic field to get the body of the email.

Is that documented somewhere? Not finding much relevant stuff when I look under ‘Get data from an external API’?

Thanks once again!

Hi @juraj.pal,

This hasn’t been documented because it actually implies some regular work with RepeatingGroups which should be relatively easy. This is actually work with RE elements as previously mentioned that can be found in some helpful videos or ones shared above. You just need to select the Current cell’s List… and extract the data.

Thanks!

Hi @alexandru,

I get that but it seems to me that the only 2 types of content I can get are these IDs. Where in the plugin do I specify that I want to get the whole email body or the subject line for example?

Screen Shot 2020-11-17 at 1.52.53 PM

Thanks!

Sorry @juraj.pal for misleading,

This way of implementing it is not that easily possible (for security measurements), so you don’t just accidentally pull all of your email messages with full body.

How you are able to make it work is actually using a combination of two data calls: List Messages and Get a Message (or Get Message Attachments as Base64, a bit later on this).

Your RepeatingGroup setups:

image

image

And when you place a Text element within your RE, you can pull the email message this way:

image

image

So you actually display just a snippet of the email body message, and your users will have a glimpse of it, and if they want to preview the whole body they can click on it and redirected to their account, as example.

Or, you can still display the whole body of the email by using Get Message Attachments as Base64 data call, but in this case you’ll have to decode the message yourself and display it already decoded. This was also done for security reasons.

It is still doable but just would require a bit of tweaks and workarounds. :pray:

Hope it helps!

Thanks @alexandru - this is all extremely helpful, appreciate your time.

The last bit that I’m missing here are the values I need to specify under (path)/id and (path)userId. Can you advise please?

Hi @juraj.pal,

Sure, the /id is the Message ID that you can extract from your first data call List Message, based on current cell:

And then simply select the ID:

image

And for /userId you can just leave it as me:

image

It already understands the logged in user with your current Google email.

Thanks!

Thank you @alexandru!

1 Like

Always welcome @juraj.pal!

If you like our plugin, could you please rate it by going to Plugins tab in Bubble editor? You can find the plugin by name and give it as many stars as it deserves. The more feedback we get, the more motivated we are to build great plugins :pray:

The demo now seems completely blocked?

All I’d need is the metadata scope. Any chance of this reduction? Or can I already hse only that. More chance of approval.

Hi @robertandrews,

We are not able to find any issues on our side, unfortunately. Could you please check the browser blockers or your Google account safety setting perhaps?

You can test the demo app here. If you get any warning messages, please share a screenshot. :pray:

Best,
Alex

Blocked by Google. This screen is after the Google OAuth authentication. Not even a scary warning screen.

FYI, I have a GSuite account on my own domain, rather than gmail.com.

Thanks @robertandrews for sharing!

Unfortunately, this screen appears when the same project has been used for a long period of time. And it is required to send it to Google for verification. Which is why we periodically create new projects on our demo app for testing purposes, and everything works again.

This happens only with our demo app, but when you install the plugin and use it with your own Api Keys, these troubles will not be reproducing on your side at all.

Hope it helps!

Alex

Can someone advise…

If I use this plugin, do I still need to go through a security audit with Google?

I have this idea for a Bubble app that would check users’ incoming emails, with their permission. It would only require access to email headers, not bodies, so would come under the “metadata” scope, nothing more. Nevertheless, the “metadata” scope still sits in the “Restricted” range, which needs some sort of security process with Google.

Needless to say, I won’t be paying Google $15,000 to $75,000.

I’m interested in building it, but wouldn’t want to waste my time on something that can’t go anywhere.

I think I might have read that your app includes the “metadata” scope but goes beyond that, which may cause Google additional suspicions.

Is there any documented case of Google successfully passing an app created with this plugin through a security audit?

Thanks!

Hi @robertandrews,

Thanks for feedback. You don’t need to pay Google on this matter as far as we are concerned, and our plugin does offer the ability to pull email headers and body as well, but it is possible for your own account only, unfortunately. It is not possible to check user’s emails - this is something Google will never allow based on their policies. We tried to accomplish it for testing purposes but with no luck.

Hope it helps. :pray:

Just want to clarify as I’ve seen conflicting info on this.

This plugin is only meant to allow for me as the app owner to send and receive emails via gmail from a single Google Account to my users or other recipients. Correct?

This plugin does not allow me to provide a Gmail integration to all my users that would allow them to login their google accounts and send emails from their gmail accounts via my app.

Just want to make sure I understand the scope before purchasing.

Hi @aj1, thanks for reaching out.

You can use this plugin both for your personal use and for your users, allowing them to log in through their Google accounts and send emails from their accounts via your app.

To check the full plugin functionality, you can:

This is an example of an app owner (us) sharing their app with users (you) where users can log in with their own Google account and send emails wherever they want.

Hope it helps.

Regards,

Hi everyone,

Thanks @juraj.pal and @alexandru for the thread, you help me a lot !! But I would like know if I can manage my users emails :

  1. User authenticates with their account (ok)
  2. User give autorisations (ok)
  3. I manage their email (???)

How can achieve this in my admin dashboard?

Thanks for the time!
Alex