🟩 [FREE] Google Sheets for AppInventor (replicant) using Google Apps Script

With reference to this previous guide:

I have now written an extension to compliment the google apps script, therefore no need to write any complicated block structures. The extension follows the original blocks provided by Tommy Heng, but updates and improves on them. It has not yet been aligned with the latest version of the Google Sheets component currently available for testing (as of writing this), although it appears to be much the same.

Google Sheets for AppInventor

  • Latest Version: 1.0
  • Tested: This has been tested on App Inventor 2 using Android 10 and 12 devices, companion 2.62, and compiled apk. It may work on other derivatives....e.g. Kodular/Niotron/etc.
  • Released: 26 March 2022
  • Last Updated: 26 March 2022
  • Built: Using the Rush Extension Builder by @Shreyash


Extension (you will need to setup the google apps script for this to work, therefore follow the links to ensure you have everything you need):

Google Sheets for AppInventor V1.0:
uk.co.metricrat.gsai2V1.0.aix (13.3 KB)

Source Code
GSAI2.java.txt (11.0 KB)

Enjoy :smiley: , and all feedback and comments welcome.

Available for use in any MIT AppInventor projects or competitions



There is a method to read a cell but how could I get the value inside the cell ?

I tagged you cuz I need to know about how to get the contents of a cell, ASAP as I don't have much of my time-period left to do things.


Use the GetFunctionOutput event to get the returned data

what means script url?

You have to deploy your own Google Apps Script project and use the deployment URL as the ScriptUrl. Search the forum for how to deploy a Google Apps Script.

You can take help from here How to use google sheet

All the guidance is available if you follow the link in the first post

hello can you please share source code of your extension we want to upgrade it and give contribution in it.

1 Like

Now available in the first post.


I noticed a small bug in the original google script. In the code that handles readCol, sh.getRange should start at 1 and not 2, otherwise the first row is never read when reading the whole column.

1 Like

Thanks Bryce. This could have been by design at the time, I cannot remember, and now seem unable to test the actual component, in order to check whether it is/was returning the column without the header row. Regardless, I will update the script.

1 Like

Than you so much.