Community Connector API Reference

Required functions

getConfig()

Returns the user configurable options for the connector.

Request

@param {Object} request A JavaScript object containing the config request parameters.

The parameter JavaScript object contains data with the following structure:

{
  languageCode: string
}
Field name Type Description
languageCode string A code that represents the user's language. This code can optionally be used to return a localized version of configuration options for the user. See the complete list of [supported languages and codes](https://support.google.com/googleplay/android-developer/table/4419860).
Request Example

Example of a getConfig request for a user whose language is set to Italian:

{
  languageCode: "it"
}

Response

Data Studio Service

@return {object} A JavaScript object representing the config for the given request.

Example
var cc = DataStudioApp.createCommunityConnector();
var config = cc.getConfig();

config
    .newTextInput()
    .setId('exampleTextInput')
    .setName('Single line text')
    .setHelpText('Helper text for single line text')
    .setPlaceholder('Lorem Ipsum');

config
    .newTextArea()
    .setId('exampleTextArea')
    .setName('Text area')
    .setHelpText('Helper text for text area')
    .setPlaceholder('Lorem Ipsum');

config
    .newSelectSingle()
    .setId('exampleSelectSingle')
    .setName('Select single')
    .setHelpText('Helper text for select single')
    .setAllowOverride(true)
    .addOption(config.newOptionBuilder().setLabel('Lorum foo').setValue('lorem'))
    .addOption(config.newOptionBuilder().setLabel('Ipsum Bar').setValue('ipsum'))
    .addOption(config.newOptionBuilder().setLabel('Sit').setValue('amet'));

config
    .newSelectSingle()
    .setId('exampleSelectMultiple')
    .setName('Select multiple')
    .setHelpText('Helper text for select multiple')
    .addOption(config.newOptionBuilder().setLabel('Lorum foo').setValue('lorem'))
    .addOption(config.newOptionBuilder().setLabel('Ipsum Bar').setValue('ipsum'))
    .addOption(config.newOptionBuilder().setLabel('Sit').setValue('amet'));

config
    .newCheckbox()
    .setId('exampleCheckbox')
    .setName('This is a checkbox')
    .setHelpText('Helper text for checkbox');

config
    .newInfo()
    .setId('exampleInfo')
    .setText('Examle instructions text used in Info')

config.setDateRangeRequired(true);

var connectorConfig = config.build();

Legacy

@return {object} A JavaScript object representing the connector configuration that should be displayed to the user.

The response contains the connector configuration with the following structure:

  {
    configParams: [
      {
        type: string(ConfigType),
        name: string,
        displayName: string,
        helpText: string,
        placeholder: string,
        parameterControl: {
          allowOverride: boolean
        },
        options: [
          {
            label: string,
            value: string
          }
        ]
      }
    ],
    dateRangeRequired: boolean
  }

Field name Type Description
configParams[] object The user provided values required by the connector. Each item represents a user input field.
configParams[].type string (ConfigType) The type of the input field.
configParams[].name string The ID of the input field.
This should be a non-empty string with no spaces.
configParams[].displayName string The text label for the input field.
configParams[].helpText string The text to display to provide additional assistance to the user about the expected value for the field.
configParams[].placeholder string Used only when type is TEXTINPUT or TEXTAREA
Placeholder text to be used as a short hint to describe the expected value of the input field.
configParams[].parameterControl.allowOverride boolean Enables overriding for the parameter. If set to true, data source creators can enable this for report editors
Default value for allowOverride is false. If you do not want to enable overriding for a parameter, you can omit the allowOverride property.
configParams[].options[] list Used only of type is SELECT
This provides the list of all the options.
options[].label string The label for the option.
options[].value string The value for the option.
This should be a non-empty string with no spaces or commas.
dateRangeRequired boolean If true, a date range is provided for getData() requests. By default, the last 28 days excluding today is chosen as the date range. This must be set for data APIs that require a date range to accompany queries, and should be set if requests to data APIs can be more efficient due to limiting the date range. Defaults to false.

Response Example

The following example shows the configuration for a single line text box, a text area, a single-select, a multi-select, a checkbox and an info box. The single-select value can be overridden in reports.

  {
    configParams: [
      {
        type: "TEXTINPUT",
        name: "exampleTextInput",
        displayName: "Single line text",
        helpText: "Helper text for single line text",
        placeholder: "Lorem Ipsum"
      },
      {
        type: "TEXTAREA",
        name: "exampleTextArea",
        displayName: "Text area",
        helpText: "Helper text for text area",
        placeholder: "Lorem Ipsum"
      },
      {
        type: "SELECT_SINGLE",
        name: "exampleSELECT_SINGLE",
        displayName: "Select single",
        helpText: "Helper text for select-single",
        parameterControl: {
          allowOverride: true
        },
        options: [
          {
            label: "Lorem foo",
            value: "lorem"
          },
          {
            label: "Ipsum bar",
            value: "ipsum"
          },
          {
            label: "Sit",
            value: "amet"
          }
        ]
      },
      {
        type: "SELECT_MULTIPLE",
        name: "exampleSELECT_MULTIPLE",
        displayName: "Select multiple",
        helpText: "Helper text for select-multiple",
        options: [
          {
            label: "Lipsum",
            value: "lipsum"
          },
          {
            label: "Foo Bar",
            value: "foobar"
          },
          {
            label: "Dolor Sit",
            value: "amet"
          }
        ]
      },
      {
        type: "CHECKBOX",
        name: "exampleCheckbox",
        displayName: "This is a checkbox",
        helpText: "Helper text for checkbox",
      },
      {
        type: "INFO",
        name: "exampleInfo",
        text: "Example instructions text used in Info"
      }
    ],
    dateRangeRequired: false
  }

getSchema()

Returns the schema for the given request. This provides the information about how the connector's data is organized. For each field it includes details such as identifiers, names, data types, etc.

Request

@param {Object} request A JavaScript object containing the schema request parameters.

The parameter JavaScript object contains data with the following structure:

{
  "configParams": object,
  "scriptParams": object
}
Field name Type Description
configParams Object A JavaScript object containing the user provided values for the config parameters defined by the connector.
scriptParams Object A JavaScript object containing information relevant to connector execution. Not used for getSchema now.
Request Example

Example of a getSchema request object:

{
  "configParams": {
    "exampleSelectMultiple": "foobar,amet",
    "exampleSelectSingle": "ipsum",
    "exampleTextInput": "Lorem Ipsum Dolor Sit Amet",
    "exampleTextArea": "NA",
    "exampleCheckbox": "true"
  },
  "scriptParams": {}
}

Response

Data Studio Service

@return {object} A JavaScript object representing the schema for the given request.

Example
var cc = DataStudioApp.createCommunityConnector();
var types = cc.FieldType;
var aggregations = cc.AggregationType;

var created = cc.newDimension()
    .setId('Created')
    .setName('Date Created')
    .setDescription('The date that this was created')
    .setType(types.YEAR_MONTH_DAY)
    .setGroup('Date');

var amount = cc.newMetric()
    .setId('Amount')
    .setName('Amount (USD)')
    .setDescription('The cost in US dollars')
    .setType(types.CURRENCY_USD)
    .setIsHidden(true);

var amountper = cc.newMetric()
    .setId('AmountPer')
    .setName('Amount Per Dimension')
    .setDescription('The summed cost')
    .setType(types.CURRENCY_USD)
    .setGroup('Money')
    .setFormula('sum($Amount)');

var probability = cc.newMetric()
    .setId('Probability')
    .setName('Probability (Close rate)')
    .setDescription('The probability that a store closes')
    .setType(types.PERCENT);

var opportunityname = cc.newDimension()
    .setId('OpportunityName')
    .setName('Opportunity Name')
    .setDescription('The name of the opportunity')
    .setType(types.TEXT);

var isverified = cc.newDimension()
    .setId('IsVerified')
    .setName('Verified Status')
    .setDescription('Whether or not the store is verified')
    .setType(types.BOOLEAN);

var company = cc.newDimension()
    .setId('Company')
    .setName('Incorporated Company Name')
    .setDescription('The name of the company the store belongs to')
    .setType(types.TEXT);

fields.setDefaultMetric(amountper.getId());
fields.setDefaultDimension(created.getId());

var schema = { 'schema': fields.asJson() };

Legacy

@return {object} A JavaScript object representing the schema for the given request.

The function returns the schema with the following structure:

  {
    "schema": [
      {
        object(Field)
      }
    ]
  }

Field name Type Description
schema[] object(Field) The schema for the given request which includes details about each field.

Response Example

  {
    "schema": [
      {
        "name": "Created",
        "label": "Date Created",
        "description": "The date that this was created",
        "dataType": "STRING",
        "group": "Date",
        "isDefault": true,
        "semantics": {
          "conceptType": "DIMENSION",
          "semanticGroup": "DATE_AND_TIME",
          "semanticType": "YEAR_MONTH_DAY",
          "isReaggregatable": false
        }
      },
      {
        "name": "Amount",
        "label": "Amount (USD)",
        "description": "The cost in US dollars",
        "dataType": "NUMBER",
        "isHidden": true,
        "semantics": {
          "conceptType": "METRIC",
          "semanticGroup": "CURRENCY",
          "semanticType": "CURRENCY_USD",
        }
      },
      {
        "name": "AmountPer",
        "label": "Amount Per Dimension",
        "description": "The summed cost",
        "dataType": "NUMBER",
        "group": "Money",
        "formula": "sum(Amount)",
        "isDefault": true,
        "semantics": {
          "conceptType": "METRIC",
          "semanticGroup": "CURRENCY",
          "semanticType": "CURRENCY_USD",
          "isReaggregatable": true
        }
      },
      {
        "name": "Probability",
        "label": "Probability (Close rate)",
        "description": "The probability that a store closes",
        "dataType": "NUMBER",
        "semantics": {
          "conceptType": "METRIC",
          "semanticGroup": "NUMERIC",
          "semanticType": "PERCENT",
          "isReaggregatable": false
        }
      },
      {
        "name": "OpportunityName",
        "label": "Opportunity Name",
        "description": "The name of the opportunity",
        "dataType": "STRING",
        "semantics": {
          "conceptType": "DIMENSION",
          "semanticType": "TEXT",
          "isReaggregatable": false
        }
      },
      {
        "name": "IsVerified",
        "label": "Verified Status",
        "description": "Whether or not the store is verified",
        "dataType": "BOOLEAN",
        "semantics": {
          "conceptType": "DIMENSION",
          "semanticType": "BOOLEAN",
          "isReaggregatable": false
        }
      },
      {
        "name": "Company",
        "label": "Incorporated Company Name",
        "description": "The name of the company the store belongs to",
        "dataType": "STRING",
        "semantics": {
          "conceptType": "DIMENSION",
          "semanticType": "TEXT",
          "isReaggregatable": false
        }
      }
    ]
  }

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": [
    {
      "name": Field.name
    }
  ]
}
Field name Type Description
configParams object A JavaScript object containing the user provided values for the config parameters defined by the connector.
scriptParams object A JavaScript object containing information relevant to connector execution.
dateRange object By default, the date range provided will be last 28 days excluding today. If a user applies a date range filter for a report then the date range provided will reflect the user selection.
When sampleExtraction is set to true, the date two days earlier than today is given as both the start and end date.
dateRange.startDate string Applies only if dateRangeRequired is set to true. The start date for filtering the data.
It will be in YYYY-MM-DD format.
dateRange.endDate string Applies only if dateRangeRequired is set to true. The end date for filtering the data.
It will be in YYYY-MM-DD format.
scriptParams.sampleExtraction boolean If value is true, the getData request is for the purpose of automatic semantic type detection. Value is omitted or false otherwise.
scriptParams.lastRefresh string This represents a timestamp that marks the time of the most recent request for a refresh of data. You should try to return data that is newer than the last refresh timestamp. You should be able to parse the value with new Date(timestampString).
fields[] Object(Field.name) A list of objects where each object contains a single Field.name. These are the fields for which data has been requested.
Request Example

The example below shows a data request that includes user provided values requestId and reportType along with the requested fields: Created, OpportunityName, Amount, and IsVerified.

{
  "configParams": {
    "multiSelectExample": "foo,bar",
    "singleSelectExample": "Lipsum",
    "singleTextExample": "Lorem Ipsum",
    "multiTextExample": "Dolor Sit Amet",
    "includeCheckExample": "true"
  },
  "dateRange": {
    "endDate": "2017-07-16",
    "startDate": "2017-06-19"
  },
  "fields": [
    {
      "name": "count",
    },
    {
      "name": "family",
    }
  ]
}

Response

@return {object} A JavaScript object that contains the schema and data for the given request.

The function returns tabular data that satisfies the given request. The schema for the tabular data is included in the response. The response is expected to have the following structure:

{
  "schema": [
    {
      object(Field)
    }
  ],
  "rows": [
    {
      "values": [
        string
      ]
    }
  ],
  "cachedData": boolean
}
Field name Type Description
schema[] object(Field) The schema for the requested field(s). The Field.name and Field.dataType are required. The order of the Field objects determines the expected order of values for each row.
rows[] object The rows of values for the requested field(s).
rows[].values[] string The values for the requested field(s).
The order of values must correspond to order of the Fields defined in schema.
cachedData boolean If true, this means the data response was from a cache. If false or omitted, this means the data response was fetched directly from the source.
Note that parameter is not currently used, you should set this value as it will become effective in an upcoming release. For now, setting this value will have no effect.
Response Example
{
  "schema": [
    {
      "name": "OpportunityName",
      "dataType": "STRING"
    },
    {
      "name": "IsVerified",
      "dataType": "BOOLEAN"
    },
    {
      "name": "Created",
      "dataType": "STRING"
    },
    {
      "name": "Amount",
      "dataType": "NUMBER"
    }
  ],
  "rows": [
    {
      "values": ["Interesting", true, "2017-05-23", "120453.65"]
    },
    {
      "values": ["SF", false, "2017-03-03", "362705286.92"]
    },
    {
      "values": ["Spring Sale", true, "2017-04-21", "870.12"]
    }
  ],
  "cachedData": true
}

getAuthType()

Returns the connector's authentication method.

Request

This function does not accept any arguments.

Response

@return {object} An object that contains the AuthType used by the connector. If the AuthType is one of USER_TOKEN, USER_PASS, or KEY, an optional helpUrl can also be set.

The response has the following structure:

{
  "type": string(AuthType),
  "helpUrl": string
}
Field name Type Description
type string (AuthType) The value for the type of authentication.
helpUrl string An optional helpUrl to be rendered if type is one of USER_TOKEN, USER_PASS, or KEY. This URL should point to a page where users can learn details about how to authenticate the connector.
Response Example
{
  "type": "USER_TOKEN",
  "helpUrl": "https://www.example.org/connector-auth-help"
}

Required Auth functions

isAuthValid()

Checks if the 3rd-party service credentials are valid.

Request

This function does not formally accept any arguments.

Response

@return {boolean} Returns true if the 3rd-party service credentials are valid, false otherwise. If true it is expected that calls to getData and getSchema will be authorized. If false then the user will likely be notified that auth has expired and they will be asked to reauthorize.

resetAuth()

Clears user credentials for the third-party service.

Request

This function does not formally accept any arguments.

Response

The response is empty.

Required OAuth2 functions

get3PAuthorizationUrls()

Returns the authorization URL to initiate the OAuth 2.0 flow for the 3rd-party service.

Request

This function does not formally accept any arguments.

Response

@return {string} Returns the authorization URL for the 3rd-party service. The authorization URL will be presented to the user to initiate the OAuth 2.0 flow to grant access to the 3rd-party service.

authCallback()

Handles the authorization response received from the 3rd party service as part of the OAuth 2.0 authorization process.

Request

@param {string} request A JSON encoded object representing the request data from the completion of the OAuth 2.0 flow.

The request parameter from the completion of an OAuth 2.0 flow is expected to contain data with the following structure (There are 2 representations below, one for a successful request and another for a failed request):

// Success
{
  "parameter":
    {
      "code": string
    }
}

// Error
{
  "parameter":
    {
      "error": string
    }
}
Field name Type Description
parameter object The code or error values from a successful or failed OAuth 2.0 flow. These values are can be used for further callback handling.
code string On a successful OAuth 2.0 flow this will be present and contain the value of the code query parameter from OAuth 2.0 callback request received from the 3rd-party service. This is an authorization code that can be used for further OAuth 2.0 handling.
error object On a failed OAuth 2.0 flow attempt this will be present and contain the value of the error query parameter from OAuth 2.0 callback request received from the 3rd-party service. This is an error message that can be used for further OAuth 2.0 handling and creating notifications.

Response

@return {object} Return an HTML object that will be rendered and shown to the user. Please view the Oauth library documentation and also Apps Script HTML Service documentation for more details.

Required User/Pass & Key functions

setCredentials()

Stores the credentials passed in from Data Studio.

Request

@param {Object} request A JavaScript object containing the data request parameters.

The request parameter contains the credentials that the user entered. It will have one of userPass, userToken, or key set depending on the response of getAuthType().

{
  "userPass": {
    "username": string,
    "password": string
  },
  "userToken": {
    "username": string,
    "token": string,
  },
  "key": string
}
Field name Type
userPass.username The username provided by the user.
userPass.password The password provided by the user.
userToken.username The username provided by the user.
userToken.token The token provided by the user.
key The Api key or token provided by the user.

Response

@return {object} A JavaScript object that contains an error code indicating if the credentials were able to be set successfully.

{
  "errorCode": string("NONE" | "INVALID_CREDENTIALS")
}
Field name Type Description
errorCode enum(string) The errorCode for the setCredentials call
Error Code Name Description
"NONE" The credentials were able to be set successfully.
"INVALID_CREDENTIALS" The credentials provided were invalid.
Response Example
{
  "errorCode": "NONE"
}

Optional functions

isAdminUser()

This is an optional function.

This checks whether the current user is an admin user of the connector. In Data Studio this function is used to enable/disable debug features. See how you can debug your code using this function.

Request

This function does not formally accept any arguments.

Response

@return {boolean} Returns true if the current authenticated user at the time of function execution is an admin user of the connector. If the function is omitted or if it returns false, then the current user will not be considered an admin user of the connector.

Data Types

Field

Data Studio Service

See Class Field for all methods that exist on the field type.

Creating A Field

var cc = DataStudioApp.createCommunityConnector();
var types = cc.FieldType;
var aggregations = cc.AggregationType;

var myField = cc.newDimension() // Or newMetric
  .setId('my_unique_identifier')
  .setName('My friendly name')
  .setDescription('My short description')
  .setType(types.YEAR_MONTH_DAY)
  .setIsHidden(true)
  .setGroup('My group name');

Legacy

Describes a specific field of a record/row as part of a schema.

Each field has the following structure:

{
  "name": string,
  "label": string,
  "description": string,
  "dataType": string(DataType),
  "group": string,
  "formula": string,
  "isDefault": boolean,
  "defaultAggregationType": string(DefaultAggregationType),
  "semantics": {
    "conceptType": string(ConceptType),
    "semanticType": string(SemanticType),
    "semanticGroup": string(SemanticGroup),
    "isReaggregatable": boolean
  }
}
Field name Type Description
name string The name of the field.
This is used as a unique identifier. Only alphanumeric characters and underscores are allowed.
label string The display name for the field. This is used as a "friendly" name in the UI.
description string An optional description for the field. Only plain text is allowed.
dataType string(DataType) The data type for the field.
isHidden boolean An optional property. Set to true to hide the field. Hidden fields don't show up on the fields screen, or as a selectable field for charts, but can be used in calculated field formulas.
group string An optional property that indicates a field belongs to a group. If fieldA and fieldB both belong to groupC, then they will be grouped together in the "Metric picker" or the "Dimension picker" of the UI. If group is defined for at least one field, then the fields without a group are given a group of Default Group.
formula string

An optional property that determines how a field is calculated. If the formula is invalid, then the field is dropped. If both aggregation properties (isReaggregatable and defaultAggregationType) and formula are provided, then the aggregation properties are ignored.

Only certain semanticTypes work with a formula field. Generally, it's best if these are text or number, with the exception of date and geo. If the text output of a date or geo formula matches a semantic type, then that semantic type can be used. Otherwise the semantic type should be string.

If you manually set this field, then it cannot be edited in the fields editor. For more detail on creating formulas, check About calculated fields.

isDefault boolean An optional property that indicates if one field should be selected as the default dimension or metric. You should define only one default dimension and one default metric for the schema.
defaultAggregationType string(DefaultAggregationType) An optional property that indicates what aggregation Data Studio should default to for this field. Users are able to change this value.
semantics object Properties to provide semantic information about the field. If this property (and semantics.semanticType) is present on any of the fields in the schema, then automatic semantic detection is disabled. If this property is absent from all of the fields, then automatic semantic detection will be enabled.
semantics.conceptType string(ConceptType) Indicates whether the field is a dimension or metric.
semantics.semanticType string(SemanticType) The semantic type for the field. If provided, automatic semantic detection is disabled.
semantics.semanticGroup string(SemanticGroup) The semantic group for the field. This optional property allows for semantic types to be grouped. Data Studio doesn't currently use this field, but may in the future.
semantics.isReaggregatable boolean true indicates that Aggregation can be applied to this field; In Data Studio Aggregation is set to SUM by default and the user can change the Aggregation.
false indicates Aggregation should not be applied to this field; In Data Studio Aggregation is set to Auto by default and the user can't change the Aggregation.
Default value is true.
Note: This property only affects metric fields.

ConceptType

The values for semantic concept types can be one of the following:

Enum Value Description
DIMENSION A dimension. Dimensions are data categories with values such as names, descriptions or other characteristics of a category.
METRIC A metric. Metrics measure dimension values and represent measurements such as a sum, count, ratio, etc.

DataType

The values for schema data types can be one of the following:

Enum Value Description
STRING An arbitrary string. Defined by the JSON Schema spec.
NUMBER A numeric data type in the double-precision 64-bit floating point format (IEEE 754).
BOOLEAN A boolean value, either true or false. Defined by the JSON Schema spec.

SemanticType

Enum Value Description Example JS Type
YEAR YYYY 2017 String
YEAR_QUARTER YYYYQ 20171 String
YEAR_MONTH YYYYMM 201703 String
YEAR_WEEK YYYYww 201707 String
YEAR_MONTH_DAY YYYYMMDD 20170317 String
YEAR_MONTH_DAY_HOUR YYYYMMDDHH 2017031400 String
QUARTER (1, 2, 3, 4) 1 String
MONTH MM 03 String
WEEK ww 07 String
MONTH_DAY MMDD 0317 String
DAY_OF_WEEK D A decimal number [0,6] with 0 being Sunday 0 String
DAY DD 17 String
HOUR HH 02 String
MINUTE mm 12 String
DURATION A Duration of Time (in seconds) 6340918234 String
COUNTRY Country United States String
COUNTRY_CODE Country Code US String
CONTINENT Continent Americas String
CONTINENT_CODE Continent Code 019 - Representing Americas String
SUB_CONTINENT Sub Continent North America String
SUB_CONTINENT_CODE Sub Continent Code 003 - Representing North America String
REGION Region California String
REGION_CODE Region Code CA - Representing California String
CITY City Mountain View String
CITY_CODE City Code 1014044 - Representing Mountain View String
METRO_CODE Metro Code 200807 - Representing San Francisco-Oakland-San Jose CA String
LATITUDE_LONGITUDE Latitude and Longitude 51.5074, -0.1278 String
NUMBER Decimal Number 14 Number
PERCENT Decimal percentage (can be over 1.0) 1.0 Number
TEXT free form text Here is some text String
BOOLEAN true or false true Boolean
URL A URL as text https://www.google.com String
IMAGE A URL of an image https://www.example.com/logo.jpg String

All currency values are JavaScript numbers. Negative values are permitted.

Enum Value Description
CURRENCY_AED United Arab Emirates Dirham (dh)
CURRENCY_ALL Albanian Lek (Lek)
CURRENCY_ARS Argentine Pesos ($)
CURRENCY_AUD Australian Dollar ($)
CURRENCY_BDT Bangladeshi Taka (৳)
CURRENCY_BGN Bulgarian Lev (lev)
CURRENCY_BOB Bolivian Boliviano (Bs)
CURRENCY_BRL Brazilian Real (R$)
CURRENCY_CAD Canadian Dollar ($)
CURRENCY_CDF Congolese Franc (FrCD)
CURRENCY_CHF Swiss Franc (CHF)
CURRENCY_CLP Chilean Peso ($)
CURRENCY_CNY Chinese Yuan (¥)
CURRENCY_COP Colombian Peso ($)
CURRENCY_CRC Costa Rican Colon (₡)
CURRENCY_CZK Czech Koruna (Kč)
CURRENCY_DKK Danish Krone (kr.)
CURRENCY_DOP Dominican Peso (RD$)
CURRENCY_EGP Egyptian Pound (£)
CURRENCY_ETB Ethiopian Birr (Birr)
CURRENCY_EUR Euro (€)
CURRENCY_GBP British Pound Sterling (£)
CURRENCY_HKD Hong Kong Dollar ($)
CURRENCY_HRK Croatian Kuna (kn)
CURRENCY_HUF Hungarian Forint (Ft)
CURRENCY_IDR Indonesian Rupiah (Rp)
CURRENCY_ILS Israeli New Sheqel (₪)
CURRENCY_INR Indian Rupee (₹)
CURRENCY_IRR Iranian Rial (Rial)
CURRENCY_ISK Icelandic Krona (kr)
CURRENCY_JMD Jamaican Dollar ($)
CURRENCY_JPY Japanese Yen (¥)
CURRENCY_KRW South Korean Won (₩)
CURRENCY_LKR Sri Lankan Rupee (Rs)
CURRENCY_LTL Lithuanian Litas (Lt)
CURRENCY_MNT Mongolian Tugrik (₮)
CURRENCY_MVR Maldivian Rufiyaa (Rf)
CURRENCY_MXN Mexican Peso ($)
CURRENCY_MYR Malaysian Ringgit (RM)
CURRENCY_NOK Norwegian Krone (kr)
CURRENCY_NZD New Zealand Dollars ($)
CURRENCY_PAB Panamanian Balboa (B/.)
CURRENCY_PEN Peruvian Nuevo Sol (S/.)
CURRENCY_PHP Philippine Peso (₱)
CURRENCY_PKR Pakistani Rupee (Rs)
CURRENCY_PLN Polish Zloty (zł)
CURRENCY_RON Romanian Leu (RON)
CURRENCY_RSD Serbian Dinar (din)
CURRENCY_RUB Russian Ruble (₽)
CURRENCY_SAR Saudi Riyal (Rial)
CURRENCY_SEK Swedish Krona (kr)
CURRENCY_SGD Singapore Dollar ($)
CURRENCY_THB Thai Baht (฿)
CURRENCY_TRY Turkish Lira (₺)
CURRENCY_TWD New Taiwan Dollar (NT$)
CURRENCY_TZS Tanzanian Shilling (TSh)
CURRENCY_UAH Ukrainian Hryvnia (грн.)
CURRENCY_USD US Dollar ($)
CURRENCY_UYU US Dollar ($)
CURRENCY_VEF Uruguayan Peso ($)
CURRENCY_VND Venezuela Bolivar Fuerte (Bs)
CURRENCY_YER Vietnamese Dong (₫)
CURRENCY_ZAR Yemeni Rial (Rial)

SemanticGroup

This is only a list of suggested values, you are free to choose values outside this list. However, setting this field will not override the group that Data Studio uses in the Type option for the fields editor.

Suggested Value Description
NUMERIC Numeric group
DATETIME DateTime group
GEO Geo Group
CURRENCY Currency Group

DefaultAggregationType

Enum Value Description
AVG The numerical average (mean) of the entries.
COUNT The number of entries.
COUNT_DISTINCT The number of distinct entries.
MAX The maximum of the entries.
MIN The minimum of the entries.
SUM The sum of the entries.

AuthType

The values for authentication method type can be one of the following:

Enum Value Description
NONE Indicates there is no authentication required for the connector.
OAUTH2 Indicates the connector uses OAuth 2.0 for authentication.
KEY Indicates the connector uses API key for authentication.
USER_PASS Indicates the connector uses username/password for authentication.
USER_TOKEN Indicates the connector uses username/token for authentication.

ConfigType

The values for configuration form element types can be one of the following:

Enum Value Description
TEXTINPUT The input element will be a single-line text box.
TEXTAREA The input element will be a multi-line textarea box.
SELECT_SINGLE The input element will be a dropdown for single-select options.
SELECT_MULTIPLE The input element will be a dropdown for multi-select options.
CHECKBOX The input element will be a single checkbox that can be used to capture boolean values.
INFO This is a static plain-text box that can be used to provide instructions or information to the user. Any links will be clickable.