Templates Plugins Courses

Google Drive Service Acc plugin links and S3

Hi, I’m trying to work through how to implement this.

I’m uploading files using the Google Drive upload a file (Base64) workflow event for a Fileuploader element.

I have a repeating group that confirms the file is uploaded into Gdrive using the Search/Get files item (Google Drive) action

Here is an example:

As you can see, some of the attributes for the displayed file reference google, others reference Amazon S3. I’ve found that:

  1. I can download and open the file using the S3 links. This worries me if the file is actually being stored in S3, especially if it is my Bubble file storage. Can you please clarify, where is this file stored - is it S3 or GDrive? What is the reason there are S3 links?
  2. I can’t get any of the google links to work. Do you have any guidance on how these should be used?
  3. The S3 link is accessible even when users aren’t logged in. How do I secure this - is it an S3, Google or Bubble configuration change?

Thanks

Bruce

Hello, @bruce.mcvicar
Thanks for your question.

Please note, that currently your files are stored in an S3 bucket, according to the functional of the plugin. So, that why you see the S3 links.

Please note that these links are not content, so they can’t be displayed on the page. You should be redirected to your S3 bucket after the correct download. So, after it you can see your files.

Taking into consideration the fact that your files are stored in the S3 bucket, you should configure the Bucket security rules firstly.

Please allow me to recommend you this documentation for setting it correctly:

https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html

https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html

https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html

Hope it will help you.
Regards,

ok, so the Google Service Account plugin is using S3 to upload files, store them and provide me with a link when I ‘download’ them. I don’t see that Google Drive is playing any role here…this is just Bubble S3 functionality…

Hello,
Please allow me to add some detail here.

You can push files to Google Drive using a Service Account both as Base64 or File Type. Currently, the process is the next:

  • The uploader, which we are using in our Plugin uses S3 as temporary file storage.
  • We place the Base64 file, and then it is temporarily stored on S3.
  • Next, the file is extracted, encoded, and sent to Google Drive.

It means that the connection between S3 and Google Drive in the uploader.

Please note that currently, we are working on creating the element, which will allow you to upload files directly on your Google Drive account.

Best regards,

Ecaterina

Thanks for the extra details.

I have a simple use case, namely for one user to upload files for storage and sharing, and other users to download and view them when needed. The number of files is such that it’s preferable to store in a large capacity platform such as Box/Google. I really thought this would be a minimum that a plugin would provide.

Once I realised the Google plugin was effectively directing me to open a file in Bubble S3 when requesting access, I re-tested the Box plugin and find that the Box Get Images action is doing the same thing. S3 seems to be a cache for uploading files and downloading them.

I’ve tested what happens when I delete the uploaded file in S3 that was uploaded into Box. I find that when a user requests a file, the Get Images action for Box seems to download the file again from Box to show to the user. It downloads to S3 every time a user requests a file, so a popular file could be downloaded to S3 numerous times. This implies S3 needs clearing down regularly.

I’ve also tested what happens when I delete the uploaded file in S3 that was then uploaded into Google. I can’t find a way of downloading that file from Google to S3 for a user to view. If that is a limitation in how it works, I can’t see the point of using Google instead of Bubble native S3 file management

I don’t mind that Bubble S3 is being used as a cache. I mind a lot that the documentation is so poor that I can’t work out what’s going on and have confidence in the solution design. I’ve spent days, probably weeks, working with Zeroqode’s Box and Google Svc Acct plugins, to implement upload/download of files. It’s been difficult because the documentation is poor and, quite frankly, the feedback from support doesn’t explain the design enough.

Regards

Bruce

Hello, @bruce.mcvicar
We are sorry for the inconvenience you faced with documentation for this plugin.

Please note that we will definitely add more details here to make this process more clear.
Also, I would like to mention that we are working on the improvement of the plugin. So, soon you will be able just to Download files directly to Google Drive without temporary file storage.
It will make work with this plugin understandable.

We will notify you about it as soon as it will be ready.

Thanks for your understanding and apologies for your experience with it.
Regards,

Ecaterina

Hi, thanks for listening, I look forward to your updates and will be happy to implement this when it’s in place.

Regards

Bruce

Hello, @bruce.mcvicar

By this message, I would like to notify you that we finished Upgrades of the Complete Google Drive (Service Acc.) plugin and now you will be able to upload your files directly to your Google Drive account.

Please upgrade your plugin to the latest version (on the Plugin’s page in your Editor ) and give it a try.

Thanks for your patience.
Best regards,