Mine

Youtube Download

code: 

const populateGoogleForms = () => {

const GOOGLE_SHEET_NAME = 'xxx';

const GOOGLE_FORM_ID = 'xxx';

const ss = SpreadsheetApp.getActiveSpreadsheet();

    const [header, ...data] = ss

      .getSheetByName(GOOGLE_SHEET_NAME)

        .getDataRange()

        .getDisplayValues();

    const choices = {};

    header.forEach((title, i) => {

        choices[i + 1] = {

            title: title,

            data: data.map((d) => d[i]) //.filter((e) => e);

        }

    });

    FormApp.openById(GOOGLE_FORM_ID)

       .getItems()

       .map((item) => {

            if (!isNaN(item.getTitle())) return { item, values: choices[item.getTitle()] }

            else {

                let title = item.getTitle().split('.')[0]

                return { item, values: choices[title] }

            }

       })

        // .filter((values) => values)

        .forEach(({ item, values }) => {

            if (values) {

                switch (item.getType()) {

                   case FormApp.ItemType.CHECKBOX:

                        item.asCheckboxItem().setChoiceValues(values['data']);

                        break;

                    case FormApp.ItemType.LIST:

                        item.asListItem().setChoiceValues(values['data']);

                        break;

                    case FormApp.ItemType.MULTIPLE_CHOICE:

                        item.asMultipleChoiceItem().setChoiceValues(values['data']);

                        break;

                    default:

                        // ignore item

                }

                item.setTitle(values['title'])

            }

        });

    ss.toast('Google Form Updated !!');

};

Show less