I wish to download all emails and put it within a .txt file. Then I want to send selected emails to selected people using any keywords in the email

When Label1 is not equal to Zero, triger one signal push notification 'You Got a New Order' and Play music as well. After few seconds make Label1 = 0 and wait for new order.
I have decided to make individual app for each sellers instead of making one app that will function differently for each user/seller.

Hope, Il complete this app tonight :slightly_smiling_face:

If Jack enters the name Jack in a search box, then (after google login/authentication (this is better than password)) search in a google sheet 'row data' to find the name Jack, if the name Jack is found in any row, then understand/copy/parse/gasp the unique id of the Jack's shop given in the next cell of the row data. After reading the unique ID, send all the products (that has this ID attached) ordered by buyers to the Listview and the display the first Listview element in Label1 for 1 minute. (NOTE: For example, Jack's shop product will have jack54321 as a unique id along with product name. So, if app can recognise the user as Jack, then it can automatically update about the new product orders into the app from google sheet.)

else,

if some other seller search his name in search box, do the same for him ...

Found this for user login METRIC RAT AI2 - Registration & Login with Firebase Authentication

Now, I want to do this,

If the user_email is jack@gmail.com, then check each row of the google_sheet_1 for jack@gmail.com and collect the unique id from the right cell of that row.

After collecting unique id from google_sheet_1, check google_sheet_2 if there is any row with unique id.

If there is row with unique id, then share the row in a listview.

NOTE: google_sheet_1 has 2 data, ie, 1) user email and 2) unique id. AND google_sheet_2 has data like unique id, orders given by buyers, address.

What is unique id?

unique id is the trick used to match the seller and his products. every product of his shop will have some extension like apple (unique id: jack731), orange (unique id: jack731) and so on.

What is the use of unique id?

When buyers place order for apple (unique id: jack731), the app can easily recognize that, buyer has ordered from the shop/app of Jack. That is the reason why unique id will be attached along with product name. Or alternatively, SKU will be named in a unique way for the same purpose.

Since app can recognize the seller by seeing the buyer's orders, the buyer's order will be forwarded to the list view of the right seller's app by matching the app login email 'jack@gmail.com' and 'unique id'.

So, I want to do this. I may need help.

I am reading this extension [Free] Google SpreadSheet Extension Fastest Lite Version - Extensions - Kodular Community

How can I do this?

If there is a word UNIQUE ID OF JACK in a row, then display the complete row in a label, else don’t display.

– Display only the rows that contains the word UNIQUE ID OF JACK in any of its column.

Can we do like this?

Imagine if a row contains 5 columns. So I shall arrange blocks to read/get data from C1 to C5.

BLOCKS:

If C1 to C5 contains UNIQUE ID OF JACK then save all columns from C1 to C5 in TinyDB, display in list-view.

SAYING AGAIN WITH MORE DETAIL: If C1 to C5 contains UNIQUE ID OF JACK then save all columns from C1 to C5 in TinyDB (one after other -for each new update of sheet), and display all in list-view.

Make yourself familiar with SQL...
See this tutorial

And the query language documentation Query Language Reference (Version 0.7)  |  Charts  |  Google for Developers

Try this query (assiming there are only 2 columns A and B, for more columns add more OR statements):

SELECT * WHERE A CONTAINS '"UNIQUE ID OF JACK" OR B CONTAINS "UNIQUE ID OF JACK"

Taifun

1 Like

I am testing a google sheet extension. I got this error.

BLOCKS TRIED:

Error occurred when I used Do It feature on 'call.Spreadsheet1.Getsheet' block.

How can I solve this?

SHEET DETAILS:

Capture2

component_method (1)

This block may solve part of the problem.

I read about the queries as well. Why too much importance is given to column than row?

How can I complete these blocks?

I know to get the unique id of any email, how can I parse the exact row completely to put it in a listview.

ie, if the spreadsheet column EMAIL has jack@gmail.com, then store the unique id of that email in a label and display that particular row completely in a list view.

How can I get all these data as I circled the block. When I put all these column names like unique id, number and name, i am getting only error. But, when i put only one column name in that place, I am getting the result.

How can I get all the column data of that row?

Okay, This one worked. Thankyou.

Now, let me try to put it in a listview.

UPDATED: IT IS WORKING NOW. I MADE A SMALL MISTAKE IN GOOGLE SHEET. AFTER CORRECTION IT IS WORKING EVEN WITHOUT USING ANY LOOPING TECHNIQUES.

I created blocks 1) to get Unique ID of email from Sheet 2, and 2) to use that unique id to get the right row completely from sheet 1. But, I don't know to loop this process (ie, I don't know to get all the rows that has same unique ID). So, the issue is that the blocks are not collecting all the rows that have same Unique ID, instead it is parsing only first row. So, help me to loop the process if that is the right thing to do.

-- The global variable loginAs (related blocks are not shared here now) gives the user login email. I already stored that email + Unique Id in a google Sheet (Sheet 2)

How can I loop this process, so I can parse/collect all the rows that have same Unique ID?

SHEETS:

Capture

ERROR THAT I MADE IN SHEETS: Unique ID of flowin@gmail.com is not same in all places. So, I made it into same and now the error is solved. One unique id for one user-login-email. That is the idea.

Planning to use the same technique to trigger and send push notification for individual sellers when new order received.

And how the app can understand new order if the sheet added new row for incoming new orders? How the app will judge if the row got updated then that is new/recent order? How can we do that, so the push notification can be sent?

ANOTHER ASSUMPTION:

STEP1: If the login email is jack@gmail.com then PushNotification key = ABC, else if the login email is Barath@gmail.com then the push notification key = DEF.

STEP2: If the unique id of new order is jack4321, then trigger the PushNotification key of jack@gmail.com.

I guess, in this way it may be possible to use single app for different sellers. If it is possible to update Label for new order for each individual sellers and if it is possible to send push notification for individual sellers in this way, then sticking with single app for all sellers is possible.

Hi, I am planning to use selenium to solve the automatic downloading of .csv file from gmail. While I am preparing for this I thought to make it as an extension as well.

The extension will generate seleniun code by getting user input OR the extension may trigger the laptop or desktop to perform automation tasks if it (laptop/desktop) is set as server and prepared with all settings after installing Java, webdriver, flask etc.

Now im facing an error ' ‘ant’ is not recognized as an internal or external command' ...

Can you help me to solve this, so I can automatically download .csv file using my app by triggering the laptop-server?

ERROR SOLVED:

Hi, instead of typing 'java -version' in the command prompt, when I typed '"C:\Program Files\Java\jdk-23\bin\java.exe" -version, the problem is solved.

Honestly that's impractical, I would not type the path of java at all.

1 Like

But, in my case only what I said above worked.

And, to run the selinium code only these commands worked for me

mvn exec:java -Dexec.mainClass="com.automation.Automation" -X

and

mvn exec:java -Dexec.mainClass="com.automation.Automation"

UPDATE: Now when I checked, java -version command is also working.

I wish to do one more thing. My another app will allow users to type ecommerce details like product name, image url, price, category etc. After entering the details, they will be able to share it as .csv file via email to me.

These information are stored in their tinydb as well, so from the listview they can edit/update the same details also, ie, if they want to change only the price of any particular product then they will make that minor change and send the entire .csv file again to me.

Here, I wish to do a little modification in the app, ie, share the record/listview element only if it got updated (with minor changes) or if it is totally new then ignore the listview element/record that is old (because, they alreardy shared the old data like product names, price, image url etc) once to me via email. I need only new data and updated data.

In the app, users can see the stored record/listview with the help of tinydb. They can edit/update any particular listview element/record or add new one and share that via email to me. Right now, the app will send the entire list view that is stored in tinydb but the app has to ignore the old data and share only the new data and edited/updated data. How can I achieve this.

I discussed about making other areas/features of this app in this post Give some tips to create an app that has options to get ecommerce selling data like 1) Product Name, 2) Product image, 3) Price etc - #449 by S.V_Arul_Shiju

how these information is stored in tinydb? the data constructure like what?

tubs.aia (11.6 KB)

Like this.
tubs.aia (11.6 KB)

I modified this app by adding Sharing component and to produce .csv output.

I wish to modify further to achieve what i said above.