List data from voice recognizer to google sheets

Hi, i'm new here, so i want to make an app that can read the questions from googlesheets using text to speech, and the answer will be sent to another google sheets (using voice recognizer). When i run the code, it showed <!DOCTYPE html... so the app cannot be continued, so i was wondering if my code is already correct or need to add something so the app don't have any issues again.

so tombol jawab is for answering the questions using voice recognizer, tombol baca is for reading the questions from google sheets, tombol kembali is used to go back to the previous questions. list_soal is the list of the questions. thanks, i hope you guys understand what im going to do.

The ends of the long text blocks are cut off...

Use text JOIN and Duplicate to show full URLS, the ends are important.

Show the full response content, it is an error mesage.

You are uploading the same Textbox text a dozen times to each row?

Post the four URLs so we can see the data.

(Canned Reply: ABG- Export & Upload .aia)
Export your .aia file and upload it here.
export_and_upload_aia

app_eduu.aia (15.9 KB)

this is my exported .aia data, as for the urls are

  1. https://docs.google.com/spreadsheets/d/e/2PACX-1vRCnJeQgnO5boaOqxy8vR82V5yNxZJItYbxx1NF0X95RR0Q0oxjpZuFfOwLRVDb9zgKNYWfXR4ZV-oM/pub?gid=0&single=true&output=csv (it is the questions data for text-to-speech)

as for the remaining urls will be post after this
the error message were

another links
2. https://docs.google.com/spreadsheets/d/e/2PACX-1vRpkY_fencpjtaZ0HfJ7qeDHrR7Xx2dn8Ls8Hs9-4kmoILTbEBmfY0dcym2aBpDDaoLm5V3lADDTEPK/pub?gid=0&single=true&output=csv (it will show the answer from MIT App)

  1. jawaban suster (the answer from MIT App will be shown in here)

I find Google Forms hard to untangle.

You might try using separate Web components for the initial question sheet download vs for the submission of the form, to avoid feeding the response from the form submission back into the question table loading process.

This way, you can have separate When WebN.GotText events for different purposes.

Here's the good news.


Your question sheet loads okay, give or take some carriage returns.

I guess this is your button to ask the next question.


The test should be < , not <= , because if you add 1 at end of list you will get an index error.
Otherwise, it looks okay, aside from introducing an extra global variable for what should have been calculated (length of list) right here.

This button asks for the previous question in the list?
Same boundary error, where you will fall off the beginning and ask for nonexistent index 0.


Use > instead of >=

The next two blocks are pretty bad.
Their order of operation is wrong, and they have fouled up data flow.


So when your spoken answer is received as text, you set Web1 to work reloading the question table? See the same URL as in Screen1.Initialize?
But you already have the question table in that global list variable.
Instead you should be trying to submit the text to your Google Form.
Note where the answer is going: Label3.Text

Here's your Answer button (I think):


This is totally backwards.

All you should be doing here is just the first 2 blocks, announcing your prompt and asking for text.
The form submission should be in the After Getting Speech Response block, up above, instead of that table grab.

I also question why you are sending that piece of text in your big button, which you never change, 10 times? Maybe Label3.Text would make more sense?

Regarding the form, which I am not an expert on, that ?& sequence needs another look by an expert.

I also repeat, use a separate Web2 component for your form submission to avoid getting your data flow crossed. Call it something sensible, like WebForm.

1 Like

I thought some more on your 10-item form.
Do the 10 items correspond to the questions in your question sheet?

That would require you to start out with a list of 10 blank values, to be replaced index by index as your spoken answers are processed. (Use same index number as the question.) That would move the form submission to a separate button whose only function is to gather the 10 list items into a form submission, instead of those that constant button text.