title: Connector development error, the number of columns retorned by de connector are different than the ones requested by data studio
body: <p>I have developed a community connector to a software I have, we developed rest services to provide the data to datastudio. The schema is dynamic as per configuration, so the webservices provide the schema upon configuration. If I configure the connector it retrieves the dataset correctly, but when I try making a report it gives the error. </p>
  
  <p>The following is the connector gs.</p>
  
  <pre><code>function getSchema(request) {
  
   var url = [
  'https://www.ebeetask-testing.com:8181/dynamicForms-rest/webresources/DataStudio/taskSchema/',
  request.configParams.task,
  '/',
  request.configParams.form,
  '/',
  request.configParams.username
  ];
  
  var credentials = request.configParams.username+ ":" + request.configParams.password;
  var auth = "Basic " + Utilities.base64Encode(credentials);
  
  var headers = {
  'Authorization': auth
  };
  
  var options =
    {
      "method" : "get",
      "headers": headers,
    };
  
  // Fetch the data.
  // By default URL fetch will throw an exception if the response code indicates failure.
  var response = UrlFetchApp.fetch(url.join(''),options);
  
  var schema = JSON.parse(response.getContentText());
  
  return schema;
  }
  
  function getData(request) {
   // Craft URL to fetch weather forecast data using OpenWeatherMap API.
   var url = [
  'https://www.ebeetask-testing.com:8181/dynamicForms-rest/webresources/DataStudio/projectTask/',
  request.configParams.project,
  '/',
  request.configParams.task,
  '/',
  request.configParams.form,
  '/',
  request.configParams.username
   ];
  
   var credentials = request.configParams.username+ ":" + 
  request.configParams.password;
   var auth = "Basic " + Utilities.base64Encode(credentials);
  
   var headers = {
  'Authorization': auth
   };
  
   var options =
    {
      "method" : "get",
      "headers": headers,
    };
  
   // Fetch the data.
   // By default URL fetch will throw an exception if the response code indicates failure.
   var response = UrlFetchApp.fetch(url.join(''),options);
   var forecast = JSON.parse(response.getContentText());
  
   return forecast;
    }
  
    function getConfig(request) {
   var config = {
   configParams: [
    {
      name: 'username',
      displayName: 'Usuario',
      helpText: 'Ingrese el usuario de ebeeTask',
    },
    {
      name: 'password',
      displayName: 'Contraseña',
      helpText: 'Ingrese la contraseña de ebeeTask',
    },
    {
      name: 'project',
      displayName: 'Proyecto',
      helpText: 'Nombre del proyecto',
    },
    {
      name: 'task',
      displayName: 'Tarea',
      helpText: 'Tarea a consultar',
    },
    {
      name: 'form',
      displayName: 'Sección',
      helpText: 'Sección de tarea a consultar',
    }
    ]
   };
   return config;
  }
  
   function getAuthType() {
   var response = {
     "type": "NONE"
   };
   return response;
  }
  </code></pre>
  
  <p>As per the webservices response the following is the json for the schema:</p>
  
  <pre><code>{
  "schema": [
  {
    "dataType": "STRING",
    "name": "Nombre",
    "label": "Nombre"
  },
  {
    "dataType": "STRING",
    "name": "Tipo documento",
    "label": "Tipo documento"
  },
  {
    "dataType": "STRING",
    "name": "Tipo trx",
    "label": "Tipo trx"
  },
  {
    "dataType": "NUMBER",
    "name": "Valor",
    "label": "Valor"
  },
  {
    "dataType": "NUMBER",
    "name": "Valor a pagar",
    "label": "Valor a pagar"
  },
  {
    "dataType": "STRING",
    "name": "taskName",
    "label": "Nombre de la tarea"
  },
  {
    "dataType": "STRING",
    "name": "userId",
    "label": "Usuario"
  },
  {
    "dataType": "STRING",
    "name": "formName",
    "label": "Nombre del formulario"
  },
  {
    "dataType": "STRING",
    "name": "projectName",
    "label": "Nombre del projecto"
  },
  {
    "dataType": "STRING",
    "name": "correlationID",
    "label": "Identificador de correlaciÃ³n"
  },
  {
    "dataType": "STRING",
    "name": "assignationDate",
    "label": "Fecha asignaciÃ³n"
  },
  {
    "dataType": "STRING",
    "name": "status",
    "label": "Estado tarea"
  },
  {
    "dataType": "STRING",
    "name": "internalId",
    "label": "Identificador de tarea"
  }
  ]
  }
  </code></pre>
  
  <p>and the getData webservice response:</p>
  
  <pre><code>{
  "schema": [
  {
    "dataType": "STRING",
    "name": "Nombre",
    "label": "Nombre"
  },
  {
    "dataType": "STRING",
    "name": "Tipo documento",
    "label": "Tipo documento"
  },
  {
    "dataType": "STRING",
    "name": "Tipo trx",
    "label": "Tipo trx"
  },
  {
    "dataType": "NUMBER",
    "name": "Valor",
    "label": "Valor"
  },
  {
    "dataType": "NUMBER",
    "name": "Valor a pagar",
    "label": "Valor a pagar"
  },
  {
    "dataType": "STRING",
    "name": "taskName",
    "label": "Nombre de la tarea"
  },
  {
    "dataType": "STRING",
    "name": "userId",
    "label": "Usuario"
  },
  {
    "dataType": "STRING",
    "name": "formName",
    "label": "Nombre del formulario"
  },
  {
    "dataType": "STRING",
    "name": "projectName",
    "label": "Nombre del projecto"
  },
  {
    "dataType": "STRING",
    "name": "correlationID",
    "label": "Identificador de correlaciÃ³n"
  },
  {
    "dataType": "STRING",
    "name": "assignationDate",
    "label": "Fecha asignaciÃ³n"
  },
  {
    "dataType": "STRING",
    "name": "status",
    "label": "Estado tarea"
  },
  {
    "dataType": "STRING",
    "name": "internalId",
    "label": "Identificador de tarea"
  }
  ],
   "cachedData": false,
   "rows": [
  {
    "values": [
      "",
      "",
      "",
      "",
      "",
      "Calculo expenses",
      "kharlosj@gmail.com",
      "Expenses",
      "Pruebas integrales firefly",
      "0001",
      "3\/24\/18 1:34 AM",
      "Ingreso InformaciÃ³n",
      "b431a41f-0831-454a-8181-7c096c978c08"
    ]
  },
  {
    "values": [
      "",
      "",
      "",
      "",
      "",
      "Calculo expenses",
      "raquel.canon@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "35533497",
      "3\/21\/18 9:16 PM",
      "Annulled",
      "66d00f93-4727-489e-b1a0-2d7d85d2a412"
    ]
  },
  {
    "values": [
      "",
      "",
      "",
      "",
      "",
      "Calculo expenses",
      "diego.convers@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "212111",
      "3\/21\/18 8:35 PM",
      "Annulled",
      "06a0993b-553b-4fd5-bc09-364fc6c026ed"
    ]
  },
  {
    "values": [
      "",
      "",
      "",
      "",
      "",
      "Calculo expenses",
      "diego.convers@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "0001",
      "3\/21\/18 9:00 PM",
      "Annulled",
      "f0159b70-e430-4d5b-8377-4b4f1426c5e8"
    ]
  },
  {
    "values": [
      "",
      "",
      "",
      "",
      "",
      "Calculo expenses",
      "diego.convers@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "SITIO2-10-10-2018",
      "3\/24\/18 4:01 PM",
      "Annulled",
      "4d65bcb4-947b-46f3-8b92-6354e9ff734a"
    ]
  },
  {
    "values": [
      "",
      "",
      "",
      "",
      "",
      "Calculo expenses",
      "diego.convers@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "EXPENSES",
      "3\/21\/18 8:49 PM",
      "Annulled",
      "1863de4d-f089-4a6b-a0af-f86d002cfa64"
    ]
  },
  {
    "values": [
      "ergfgsd",
      "CC",
      "compra",
      "5000.0",
      "5000.0",
      "Calculo expenses",
      "diego.convers@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "35533497",
      "3\/24\/18 1:39 AM",
      "Annulled",
      "cc4625c5-806e-4751-9840-efc230708702"
    ]
  },
  {
    "values": [
      "",
      "",
      "",
      "",
      "",
      "Calculo expenses",
      "diego.convers@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "0001",
      "3\/21\/18 8:56 PM",
      "Annulled",
      "093a180e-292d-434a-ac92-3466b74759ea"
    ]
  },
  {
    "values": [
      "",
      "",
      "",
      "",
      "",
      "Calculo expenses",
      "diego.convers@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "TEST",
      "3\/21\/18 8:40 PM",
      "Annulled",
      "dd830e57-9f5e-4d8b-8278-2dfd931f7784"
    ]
  },
  {
    "values": [
      "Compra pasajes ",
      "CC",
      "compra",
      "200000.0",
      "200000.0",
      "Calculo expenses",
      "diego.convers@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "0002",
      "3\/21\/18 9:04 PM",
      "Annulled",
      "36392415-18d4-40e1-aa7f-2b4df64617bd"
    ]
  },
  {
    "values": [
      "",
      "",
      "",
      "",
      "",
      "Calculo expenses",
      "kharlosj@gmail.com",
      "Expenses",
      "Pruebas integrales firefly",
      "222222",
      "3\/24\/18 1:46 AM",
      "Ingreso InformaciÃ³n",
      "cd8cc4cb-6382-401e-bc09-f809c9553ef8"
    ]
  },
  {
    "values": [
      "Pasajes",
      "NIT",
      "compra",
      "200000.0",
      "180000.0",
      "Calculo expenses",
      "diego.convers@firefly-e.com",
      "Expenses",
      "Pruebas integrales firefly",
      "79981957",
      "3\/27\/18 10:27 PM",
      "Ingreso InformaciÃ³n",
      "91b4b05c-cd32-4135-88b2-b07dd885ac57"
    ]
   }
   ]
  }
  </code></pre>
  
  <p>What am I missing on the development ????</p>