Ich bin dabei, einen Community Connector zu erstellen und kratze mich am Kopf; In der Dokumentation:configParams undefined in getData() call
getData()
Returns the tabular data for the given request.
Request
@param {Object} request A JavaScript object containing the data request parameters.
The request parameter contains user provided values and additional information that can be used to complete the data request. It has the following structure:
{ "configParams": object, "scriptParams": { "sampleExtraction": boolean, "lastRefresh": string }, "dateRange": { "startDate": string, "endDate": string }, "fields": [ { object(Field) } ] }
Ich habe richtig Setup getConfig() (zumindest meine Konfigurationen vom Benutzer angefordert werden), aber meine getData Funktion wird kein configParams-Objekt übergeben. Hier ist mein Code.
function getConfig(request) {
var Harvest = HarvestService({
token: getHarvestAuthService().getAccessToken()
});
var accounts = Harvest.accounts.list();
var options = accounts.map(function(account) {
return {
label: account.name,
value: account.id
};
});
var config = {
configParams: [
{
type: 'SELECT_SINGLE',
name: 'harvestAccountId',
displayName: 'Harvest Account ID',
helpText: 'The ID of the Harvest Account to pull data from.',
options: options
}
],
dateRangeRequired: true
};
return config;
}
function getData(request) {
var startDate = request.dateRange.startDate;
var endDate = request.dateRange.endDate;
var accountId = request.configParams.harvestAccountId;
var harvestAuthService = getHarvestAuthService();
var Harvest = HarvestService({
token: harvestAuthService.getAccessToken(),
account: accountId
});
var fieldKeys = request.fields.map(function(field) { return field.name; });
var entries = Harvest.entries.list({
startDate: new Date(startDate),
endDate: new Date(endDate)
});
var rows = entries.map(entryToRow);
return {
schema: request.fields,
rows: rows,
cachedData: false
};
}
Wenn ich/debug zu testen, kann ich ein Konto bei dem Konfigurationsschritt wähle, wird das Schema korrekt zurückgegeben, aber ich bekomme die folgende Ausnahme, wenn ich versuche und ein Widget zu dem Bericht hinzufügen:
Script error message: TypeError: Cannot read property "harvestAccountId" from undefined.
Script error cause: USER Script error stacktrace: getData:244
Jeder Rat sehr geschätzt.
Danke für Ihre Antwort; Das Problem war, dass meine Werte keine Strings waren und nicht hinter den Kulissen erzwungen wurden. –