首页 文章

连接器开发错误,de连接器重新列出的列数与data studio请求的列数不同

提问于
浏览
1

我已经开发了一个社区连接器到我拥有的软件,我们开发了休息服务来向datastudio提供数据 . 根据配置,模式是动态的,因此Web服务在配置时提供模式 . 如果我配置连接器,它会正确检索数据集,但是当我尝试生成报告时,它会给出错误 .

以下是连接器gs .

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;
}

根据webservices响应,以下是架构的json:

{
"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"
}
]
}

和getData webservice响应:

{
"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"
  ]
 }
 ]
}

我在开发中缺少什么?

1 回答

  • 0

    好的,发现了错误 . 该请求带来了要返回的动态字段结构,开发了服务以返回静态模式,因此重新构造它以接收来自请求的字段以响应动态模式和行结构 .

相关问题