Can I fill in TextItem by Google apps script?

I made a form with Google Form Builder, then I add a script for it.

I can run Session.getEffectiveUser().getEmail() to the respondent's email address. but I cant fill it in the textbox to assist them. Can I do such thing with Google App Script?


I think I found a solution to your problem. But I must admit it was not evident. In apps scripts documentation you've got everything to create a prefilled url.
BUT for that you need to have a ItemResponse element and I didn't found any explaination to build one. The trick is when you've got an item you can get a ItemResponse from it if you get it as a defined type "asTextItem()".
Best way to understand it, is to watch the code below:

function getPreFilledItem(){
  var form = FormApp.openById("YOUR_FORM_ID"); 
  var items = form.getItems();
  var itemOfInterest;
  for(var i in items){
    if(items[i].getTitle()=="YOUR_QUESTION_TITLE"){
      itemOfInterest=items[i];
    }
  }
  Logger.log(
    form.createResponse().
    withItemResponse(itemOfInterest.asTextItem().createResponse("PREFILLED_TEXT")).
    toPrefilledUrl()
  );
}

Hoping this will help you,
Harold


You can't dynamically modify Google Forms by attaching a script to the Form. See a recent question I asked to get a better understanding.

Basically, you can only use Google Apps Script to create forms in an automated manner. You can't set values for the items as of yet (I certainly hope they add this in the future...).

You can also see the limitations for Forms by looking at the documentation (TextItem, for example).