V8-Engine | Google Apps Script

Webp.net-resizeimagech V8-Engine AIX

:wave: Hello everyone
Here i'm again with my another extension, V8 Engine. I'm not sure if the name suits this or not. :sweat_smile:
It’s a helper extension allows you to use Google Apps Script and supporting google apps from client side. You can simply use javascript code to send emails, CRUD data on your google spreadsheet, Upload files to your google drive, Set/remove reminders on your google calander, Find Address details from of a Lat-n-Lng, Get polyline and many more. In short you can manage all your google apps supported by google app script using this extension.

It is not bounded to use with google apps only, you can even use normal javascript codes to run on server and then return the response.

Blocks

Download AIX : com.cttricks.V8Engine.aix (36.4 KB)
Current Version : 1.0
Note : You can also use Web-Component of MitAppinventor

Server Code

In order to use this extension you’ll have to deploy server codes, that you’ll find on my GitHub . And deploy it to create webhook/server-url. Go to scripts.google.com and create a new project. Now paste the below codes there. or you can read my blog where I have explained How you can deploy and ceate your server url step by step.

Sample JS codes

Here are some sample codes that you can run using V8 Engine AIX.

1. Convert Language
LanguageApp.translate('How are you?', '' , 'hi');

2. Send email from your own gmail account
MailApp.sendEmail(‘help.cttricks@gmail.com’, ‘test 01’, ‘test of v8 engine extension’)

3. Get location address .
Maps.newGeocoder().reverseGeocode( ‘9.748816’, ‘118.739162’)

4. Get value from Spreadsheet
SpreadsheetApp.openByUrl( “Spreadsheet_URL” ).getSheetByName( “Sheet1” ).getRange( “A1:Z1” ).getValues();

5. Store Value on Spreadsheet
SpreadsheetApp.openByUrl( “Spreadsheet_URL” ).getSheetByName( “Sheet1” ).appendRow([“I”,”am”,”Ct tricks”]);

For reference to use google apps, you can explore apps script docs, Also if you have any query or suggestion feel free to ask me.

6 Likes

Clever stuff :slight_smile:

Are you happy using eval() to handle user code input ? I know the javascript gurus generally frown upon its use, because it can allow for injection of malicious code. Sometimes there is no way around it, but anyone widening the scopes to drive might be presenting a security risk ? I have not yet tested to see what impact this could/may have....

(note: your link to your site on github readme.md is wrong - https://ctricks.com should be https://cttricks.com )

1 Like

why the function block is in pink or other colour

the screenshot is taken on niotron builder so...

2 Likes

I totally agree with you @TIMAI2 , :grin: but for security i have added access key verification definitely it is not making it much secure. But i guess this extension will help those who make personal assistent or a bot to manage suffs. i dont know :sweat_smile:, If you insist then i can add a security note to warn users about the down side of using this aix in there projects and warn them not to use it if they are making project for public use.

And thanks for informing. i have corrected it

I guess it is more a warning for developers, that if they provide this service on their "main google account" it has the potential to expose their files/data to malicious code (For example a code that deleted all files - this would need the Advanced Drive Service already enabled, but you can see how this might become a possibility). A workaround is to create a separate google account that only handles this activity. Due to the nature of the extension, it is difficult to lock things down to file IDs...

I have a similar issue here:
Use gviz to get or query PRIVATE google sheet data

1 Like

Nice extension @Ct_tricks :heart_eyes:

(added to FAQ)

2 Likes