Справочник по API коннектора сообщества

Требуемые функции

получить конфигурацию()

Возвращает настраиваемые пользователем параметры для соединителя.

Запрос

@param {Object} request Объект JavaScript, содержащий параметры запроса конфигурации.

Объект JavaScript параметра содержит данные со следующей структурой:

{
  languageCode: string
}
Имя поля Тип Описание
languageCode string Код, представляющий язык пользователя. Этот код можно дополнительно использовать для возврата локализованной версии параметров конфигурации для пользователя. См. полный список поддерживаемых языков и кодов .
configParams объект Присутствует, если предыдущий вызов getConfig() имел .setIsSteppedConfig(true) . Объект, содержащий предоставленные пользователем значения конфигурации на данный момент.
Пример запроса

Пример запроса getConfig для пользователя, у которого установлен итальянский язык:

{
  languageCode: "it"
}

Ответ

Услуги Looker Studio

@return {object} Объект JavaScript, представляющий конфигурацию для данного запроса.

Пример
function getConfig(request) {
  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
      .newSelectMultiple()
      .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);
  config.setIsSteppedConfig(false);

  return config.build();
}

Наследие

@return {object} Объект JavaScript, представляющий конфигурацию коннектора, которая должна отображаться пользователю.

Ответ содержит конфигурацию соединителя со следующей структурой:

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

Имя поля Тип Описание
configParams[] object Пользователь предоставил значения, требуемые коннектором. Каждый элемент представляет собой поле ввода пользователя.
configParams[].type string ( ConfigType ) Тип поля ввода.
configParams[].name string Идентификатор поля ввода.
Это должна быть непустая строка без пробелов.
configParams[].displayName string Текстовая метка для поля ввода.
configParams[].helpText string Текст, отображаемый для дополнительной помощи пользователю в отношении ожидаемого значения поля.
configParams[].placeholder string Используется только для type TEXTINPUT или TEXTAREA
Текст-заполнитель, который будет использоваться в качестве короткой подсказки для описания ожидаемого значения поля ввода.
configParams[].isDynamic boolean Используется ли это поле для динамического заполнения более поздних записей конфигурации. По умолчанию false
configParams[].parameterControl.allowOverride boolean Включает переопределение параметра. Если установлено значение true , создатели источников данных могут включить это для редакторов отчетов.
Значение по умолчанию для allowOverridefalse . Если вы не хотите разрешать переопределение параметра, вы можете опустить свойство allowOverride .
configParams[].options[] list Используется только type SELECT
Это предоставляет список всех опций.
options[].label string Метка для опции.
options[].value string Значение для опции.
Это должна быть непустая строка без пробелов и запятых.
dateRangeRequired boolean Если true , для запросов getData() предоставляется диапазон дат. По умолчанию в качестве диапазона дат выбраны последние 28 дней, исключая today . Это должно быть установлено для API данных, которым требуется диапазон дат для сопровождения запросов, и должно быть установлено, если запросы к API данных могут быть более эффективными из-за ограничения диапазона дат. По умолчанию false .
isSteppedConfig boolean Если true , Looker Studio предложит пользователю ответить на текущий набор вопросов о конфигурации, а затем вернет ответы на эти вопросы для последующих вызовов getConfig() . Если false (по умолчанию), пользователь сможет нажать «Подключиться» и перейти на страницу «Схема».

Пример ответа

В следующем примере показана конфигурация для однострочного текстового поля, текстовой области, одиночного выбора, множественного выбора, флажка и информационного поля. Значение одиночного выбора можно переопределить в отчетах.

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

получитьСхему()

Возвращает схему для данного запроса. Это предоставляет информацию о том, как организованы данные коннектора. Для каждого поля он включает такие детали, как идентификаторы, имена, типы данных и т. д.

Запрос

@param {Object} request Объект JavaScript, содержащий параметры запроса схемы.

Объект JavaScript параметра содержит данные со следующей структурой:

{
  "configParams": object
}
Имя поля Тип Описание
configParams Object Объект JavaScript, содержащий предоставленные пользователем значения для параметров конфигурации, определенных коннектором.
Пример запроса

Пример объекта запроса getSchema :

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

Ответ

Услуги Looker Studio

@return {object} Объект JavaScript, представляющий схему для данного запроса.

Пример
function getSchema(request) {
  var cc = DataStudioApp.createCommunityConnector();
  var fields = cc.getFields();
  var types = cc.FieldType;

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

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

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

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

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

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

  var company = fields.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());

  return { 'schema': fields.build() };
}

Большой запрос

@return {object} Объект JavaScript, представляющий конфигурацию запроса BigQuery.

Пример
var bqTypes = DataStudioApp.createCommunityConnector().BigQueryParameterType;
var configuration = DataStudioApp.createCommunityConnector().newBigQueryConfig()
    .setBillingProjectId('billingProjectId')
    .setQuery('myQueryString')
    .setUseStandardSql(true)
    .setAccessToken('myAccessToken')
    .addQueryParameter('myUrlParameterName', bqTypes.STRING, 'myUrlParameterValue')
    .build();

Наследие

@return {object} Объект JavaScript, представляющий схему для данного запроса.

Функция возвращает схему со следующей структурой:

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

Имя поля Тип Описание
schema[] object( Field ) Схема для данного запроса, которая включает сведения о каждом поле.

Пример ответа

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

получить данные()

Возвращает табличные данные для данного запроса.

Запрос

@param {Object} request Объект JavaScript, содержащий параметры запроса данных.

Параметр request содержит предоставленные пользователем значения и дополнительную информацию, которую можно использовать для завершения запроса данных. Он имеет следующую структуру:

{
  "configParams": object,
  "scriptParams": {
    "sampleExtraction": boolean,
    "lastRefresh": string
  },
  "dateRange": {
    "startDate": string,
    "endDate": string
  },
  "fields": [
    {
      "name": string
    }
  ],
  "dimensionsFilters": [
    [{
      "fieldName": string,
      "values": string[],
      "type": DimensionsFilterType,
      "operator": Operator
    }]
  ]
}
Имя Тип Описание
configParams object Объект, содержащий введенные пользователем значения для параметров конфигурации, определенных коннектором.
scriptParams ScriptParams Объект, содержащий информацию, относящуюся к выполнению соединителя.
dateRange Диапазон дат По умолчанию указанный диапазон дат будет включать последние 28 дней, исключая сегодняшний день. Если пользователь применяет к отчету фильтр диапазона дат, указанный диапазон дат будет отражать выбор пользователя.
Когда для sampleExtraction установлено значение `true**, дата, на два дня предшествующая сегодняшнему дню, задается как начальная, так и конечная дата.
fields[].name string Имена запрашиваемых полей.
fields[].forFilterOnly boolean Отмечает поле, используемое только для фильтрации запроса. Не возвращайте поле, если ваш коннектор применяет фильтры .
dimensionsFilters РазмерыФильтры Вложенный массив выбранных пользователем фильтров. Самые внутренние массивы должны быть объединены OR , самые внешние массивы должны быть объединены по AND

диапазон дат

Имя Тип Описание
startDate string Дата начала фильтрации данных. Применяется, только если для параметра dateRangeRequired установлено значение true . Он будет в формате YYYY-MM-DD .
endDate string Дата окончания фильтрации данных. Применяется только для dateRangeRequired , для которого задано значение true . Он будет в формате YYYY-MM-DD .

scriptParams

Имя Тип Описание
sampleExtraction boolean Если true , запрос getData() предназначен для автоматического определения семантического типа .
lastRefresh string Временная метка, помечающая самый последний запрос на обновление данных.

размерыФильтры

имя тип описание
fieldName string Имя поля для фильтрации
values string[] Массив значений для использования оператором.
type "INCLUDE" | "EXCLUDE" Должны ли данные, соответствующие этому фильтру, быть включены или исключены из ответа getData() .
operator Оператор фильтра Оператор для применения
Пример запроса
{
  "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"}
  ]
}

Ответ

По умолчанию

@return {object} Объект JavaScript, содержащий схему и данные для данного запроса.

Функция возвращает табличные данные, удовлетворяющие заданному запросу. Схема для табличных данных включена в ответ. Ожидается, что ответ будет иметь следующую структуру:

  {
    "schema": [
      {
        object(Field)
      }
    ],
    "rows": [
      {
        "values": [
          string
        ]
      }
    ]
  }
Имя Тип Описание
schema Поле [] Схема для запрошенных полей. field.name и field.dataType обязательны. Порядок объекта field должен соответствовать порядку значений для каждой строки.
rows[].values[] string | number | boolean Значения запрошенных полей.
Порядок значений должен соответствовать порядку Fields , определенных в schema
filtersApplied boolean Установите значение true, если все фильтры были успешно применены, в противном случае — значение false.

Поле

Имя Тип Описание
name string Имя поля.
dataType Тип данных Тип поля.
Пример
{
  "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"]
    }
  ],
  "filtersApplied": false
}

Большой запрос

@return {object} Объект JavaScript, представляющий конфигурацию запроса BigQuery.

Пример
var bqTypes = DataStudioApp.createCommunityConnector().BigQueryParameterType;
var configuration = DataStudioApp.createCommunityConnector().newBigQueryConfig()
    .setBillingProjectId('billingProjectId')
    .setQuery('myQueryString')
    .setUseStandardSql(true)
    .setAccessToken('myAccessToken')
    .addQueryParameter('myUrlParameterName', bqTypes.STRING, 'myUrlParameterValue')
    .build();

получить аутентипе ()

Возвращает метод проверки подлинности соединителя.

Запрос

Эта функция не принимает никаких аргументов.

Ответ

Услуги Looker Studio

@return {object} Объект, содержащий AuthType используемый коннектором. Если AuthType является одним из USER_TOKEN , USER_PASS , KEY , PATH_USER_PASS или PATH_KEY , можно также установить необязательный helpUrl .

Пример
function getAuthType() {
  var cc = DataStudioApp.createCommunityConnector();
  return cc.newAuthTypeResponse()
    .setAuthType(cc.AuthType.USER_PASS)
    .setHelpUrl('https://www.example.org/connector-auth-help')
    .build();
}

Наследие

@return {object} Объект, содержащий AuthType используемый коннектором. Если AuthType является одним из USER_TOKEN , USER_PASS , KEY , PATH_USER_PASS или PATH_KEY , можно также установить необязательный helpUrl .

Ответ имеет следующую структуру:

 {
   "type": string(AuthType),
   "helpUrl": string
 }

Имя поля Тип Описание
type string( AuthType ) Значение типа аутентификации.
helpUrl string Необязательный URL-адрес, который будет показан пользователю, если type является одним из USER_TOKEN , USER_PASS , KEY , PATH_USER_PASS или PATH_KEY . Этот URL-адрес должен указывать на страницу, где пользователи могут узнать подробности о том, как аутентифицировать коннектор.

Пример ответа
{
  "type": "USER_TOKEN",
  "helpUrl": "https://www.example.org/connector-auth-help"
}

Требуемые функции аутентификации

isAuthValid()

Проверяет, действительны ли учетные данные сторонней службы.

Запрос

Формально эта функция не принимает никаких аргументов.

Ответ

@return {boolean} Возвращает true если учетные данные сторонней службы действительны, false в противном случае. Если true ожидается, что вызовы getData и getSchema будут авторизованы. Если false то пользователь, скорее всего, будет уведомлен о том, что срок действия аутентификации истек, и ему будет предложено повторно авторизоваться.

resetAuth()

Очищает учетные данные пользователя для сторонней службы.

Запрос

Формально эта функция не принимает никаких аргументов.

Ответ

Ответ пустой.

Необходимые функции OAuth2

get3PAuthorizationUrls()

Возвращает URL-адрес авторизации для запуска потока OAuth 2.0 для сторонней службы.

Запрос

Формально эта функция не принимает никаких аргументов.

Ответ

@return {string} Возвращает URL-адрес авторизации для стороннего сервиса. URL-адрес авторизации будет представлен пользователю, чтобы инициировать поток OAuth 2.0 для предоставления доступа к сторонней службе.

authCallback()

Обрабатывает ответ авторизации, полученный от сторонней службы, как часть процесса авторизации OAuth 2.0.

Запрос

@param {string} request Объект в кодировке JSON, представляющий данные запроса по завершении потока OAuth 2.0.

Ожидается, что параметр request после завершения потока OAuth 2.0 будет содержать данные со следующей структурой (ниже приведены 2 представления, одно для успешного запроса, а другое для неудачного запроса):

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

// Error
{
  "parameter":
    {
      "error": string
    }
}
Имя поля Тип Описание
parameter object code или значения error из успешного или неудачного потока OAuth 2.0. Эти значения можно использовать для дальнейшей обработки обратного вызова.
code string В успешном потоке OAuth 2.0 он будет присутствовать и содержать значение параметра запроса code из запроса обратного вызова OAuth 2.0, полученного от сторонней службы. Это код авторизации, который можно использовать для дальнейшей обработки OAuth 2.0.
error object При неудачной попытке потока OAuth 2.0 это будет присутствовать и содержать значение параметра запроса error из запроса обратного вызова OAuth 2.0, полученного от сторонней службы. Это сообщение об ошибке можно использовать для дальнейшей обработки OAuth 2.0 и создания уведомлений.

Ответ

@return {object} Возвращает объект HTML, который будет отображен и показан пользователю. Дополнительные сведения см. в документации по библиотеке Oauth , а также в документации по HTML-сервису Apps Script.

Требуемые функции пользователя/пароля и ключа

установитьУчетные данные ()

Сохраняет учетные данные, переданные из Looker Studio.

Запрос

@param {Object} request Объект JavaScript, содержащий параметры запроса данных.

Параметр request содержит учетные данные, введенные пользователем. Он будет иметь один из pathUserPass , pathKey , userPass , userToken или набор key в зависимости от ответа getAuthType() .

{
  "pathUserPass": {
    "path": : string,
    "username": string,
    "password": string
  },
  "pathKey": {
    "path": : string,
    "key": string
  },
  "userPass": {
    "username": string,
    "password": string
  },
  "userToken": {
    "username": string,
    "token": string
  },
  "key": string
}
Имя поля Тип
pathUserPass.path Путь, указанный пользователем.
pathUserPass.username Имя пользователя, предоставленное пользователем.
pathUserPass.password Пароль, предоставленный пользователем.
pathKey.path Путь, указанный пользователем.
pathKey.key Ключ API или токен, предоставленный пользователем.
userPass.username Имя пользователя, предоставленное пользователем.
userPass.password Пароль, предоставленный пользователем.
userToken.username Имя пользователя, предоставленное пользователем.
userToken.token Токен, предоставленный пользователем.
key Ключ API или токен, предоставленный пользователем.

Ответ

@return {object} Объект JavaScript, содержащий код ошибки, указывающий, удалось ли успешно установить учетные данные.

{
  "errorCode": string("NONE" | "INVALID_CREDENTIALS")
}
Имя поля Тип Описание
errorCode enum(string) Код ошибки для вызова setCredentials
Название кода ошибки Описание
"NONE" Учетные данные удалось установить успешно.
"INVALID_CREDENTIALS" Предоставленные учетные данные недействительны.
Пример ответа
{
  "errorCode": "NONE"
}

Дополнительные функции

isAdminUser()

Проверяет, является ли пользователь администратором соединителя. Эта функция используется для включения/отключения функций отладки. Дополнительные сведения см. в разделе Включение/отключение функций отладки .

Запрос

Эта функция не принимает никаких аргументов.

Ответ

@return {boolean} Возвращает true , если пользователь является администратором коннектора. Если функция опущена или возвращает false , то пользователь не будет считаться администратором. Дополнительные сведения см. в разделе Включение/отключение функций отладки .

Типы данных

Поле

Услуги Looker Studio

См. Поле класса для всех методов, которые существуют для типа поля.

Создание поля

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)
  // formula fields cannot be hidden.
  .setIsHidden(true)
  .setGroup('My group name');

Наследие

Описывает конкретное поле записи/строки как часть схемы.

Каждое поле имеет следующую структуру:

{
  "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
  }
}
Имя поля Тип Описание
name string Имя поля.
Используется как уникальный идентификатор. Допускаются только буквенно-цифровые символы и символы подчеркивания.
label string Отображаемое имя для поля. Это используется как «дружественное» имя в пользовательском интерфейсе.
description string Необязательное описание поля. Допускается только обычный текст.
dataType string( DataType ) Тип данных для поля.
isHidden boolean Необязательное свойство. Установите значение true , чтобы скрыть поле. Скрытые поля не отображаются на экране полей или в качестве выбираемых полей для диаграмм, но их можно использовать в формулах вычисляемых полей. Поля формул не могут быть скрыты.
group string Необязательное свойство, указывающее, что поле принадлежит группе. Если fieldA и fieldB оба принадлежат к groupC , они будут сгруппированы вместе в «Средстве выбора показателей» или «Средстве выбора параметров» пользовательского интерфейса. Если группа определена хотя бы для одного поля, то полям без группы присваивается группа Default Group .
formula string

Необязательное свойство, определяющее, как вычисляется поле. Если формула недействительна, поле удаляется. Если указаны оба свойства агрегации ( isReaggregatable и defaultAggregationType ) и formula , то свойства агрегации игнорируются.

Только определенные semanticType работают с полем formula . Как правило, лучше всего, если это текст или число, за исключением date и geo . Если текстовый вывод формулы даты или гео соответствует семантическому типу, то можно использовать этот семантический тип. В противном случае семантический тип должен быть string .

Если вы зададите это поле вручную, то его нельзя будет отредактировать в редакторе полей. Дополнительные сведения о создании формул см. в разделе О вычисляемых полях .

isDefault boolean Необязательное свойство, указывающее, следует ли выбрать одно поле в качестве dimension или metric по умолчанию. Для схемы следует определить только одно dimension по умолчанию и одну metric по умолчанию.
defaultAggregationType string( DefaultAggregationType ) Необязательное свойство, указывающее, какую агрегацию Looker Studio должен использовать по умолчанию для этого поля. Пользователи могут изменить это значение.
semantics object Свойства для предоставления семантической информации о поле. Если это свойство (и semantics.semanticType ) присутствует в любом из полей схемы, то автоматическое определение семантики отключено. Если это свойство отсутствует во всех полях, то будет включено автоматическое семантическое определение .
semantics.conceptType string( ConceptType ) Указывает, является ли поле параметром или метрикой.
semantics.semanticType string( SemanticType ) Семантический тип поля. Если предусмотрено, автоматическое семантическое определение отключено.
semantics.semanticGroup string( SemanticGroup ) Семантическая группа поля. Это необязательное свойство позволяет группировать семантические типы. В настоящее время Looker Studio не использует это поле, но может использовать его в будущем.
semantics.isReaggregatable boolean true указывает, что к этому полю можно применить агрегирование ; В Looker Studio по умолчанию для агрегации установлено значение SUM , и пользователь может изменить агрегацию .
false указывает, что агрегирование не должно применяться к этому полю; В Looker Studio по умолчанию для агрегации установлено значение «Авто» , и пользователь не может изменить агрегацию .
Значение по умолчанию — true .
Примечание. Это свойство влияет только на поля показателей.

Тип концепции

Значения типов семантических понятий могут быть одним из следующих:

Перечисляемое значение Описание
DIMENSION Измерение. Измерения — это категории данных со значениями, такими как имена, описания или другие характеристики категории.
METRIC Метрика. Метрики измеряют значения параметров и представляют измерения, такие как сумма, количество, отношение и т. д.

Тип данных

Значения для типов данных схемы могут быть одним из следующих:

Перечисляемое значение Описание
STRING Произвольная строка. Определяется спецификацией схемы JSON.
NUMBER Числовой тип данных в 64-битном формате двойной точности с плавающей запятой (IEEE 754).
BOOLEAN Логическое значение, true или false . Определяется спецификацией схемы JSON.

Семантический тип

Перечисляемое значение Описание Пример
YEAR YYYY "2017"
YEAR_QUARTER YYYYQ "20171"
YEAR_MONTH YYYYMM "201703"
YEAR_WEEK YYYYww "201707"
YEAR_MONTH_DAY YYYYMMDD "20170317"
YEAR_MONTH_DAY_HOUR YYYYMMDDHH "2017031403"
YEAR_MONTH_DAY_SECOND YYYYMMDDHHMMSS "20170314031545"
QUARTER (1, 2, 3, 4) "1"
MONTH MM "03"
WEEK ww "07"
MONTH_DAY MMDD "0317"
DAY_OF_WEEK Десятичное число от 0 до 6, где 0 означает воскресенье. "0"
DAY DD "17"
HOUR HH "02"
MINUTE mm "12"
DURATION Продолжительность времени (в секундах) 6340918234
COUNTRY Страна "United States"
COUNTRY_CODE Код страны "US"
CONTINENT Континент "Americas"
CONTINENT_CODE Континентальный код "019"
SUB_CONTINENT субконтинент "North America"
SUB_CONTINENT_CODE Код субконтинента "003"
REGION Область "California"
REGION_CODE Код региона "CA"
CITY Город "Mountain View"
CITY_CODE Код города "1014044"
METRO_CODE Код метро "200807"
LATITUDE_LONGITUDE Широта и долгота "51.5074, -0.1278"
NUMBER Десятичное число 14
PERCENT Десятичный процент (может быть больше 1,0) 1.0
TEXT Текст произвольной формы "Here is some text"
BOOLEAN true или false true
URL URL как текст "https://www.google.com"

Семантические типы формул

Перечисляемое значение Описание Формула
HYPERLINK Ссылка с текстовой меткой "HYPERLINK($url, $description)"
IMAGE URL-адрес изображения "IMAGE($image_url, $alt_text)"
IMAGELINK Ссылка с ярлыком изображения "HYPERLINK($url, $image_field)"

Семантические типы валюты

Все значения валюты являются числами JavaScript. Допускаются отрицательные значения.

Перечисляемое значение Описание
CURRENCY_AED Дирхам ОАЭ (dh)
CURRENCY_ALL Албанский лек (лек)
CURRENCY_ARS Аргентинские песо ($)
CURRENCY_AUD Австралийский доллар ($)
CURRENCY_BDT Бангладешская така (৳)
CURRENCY_BGN Болгарский лев (лев)
CURRENCY_BOB Боливийский боливиано (Bs)
CURRENCY_BRL Бразильский реал (реалы)
CURRENCY_CAD Канадский доллар ($)
CURRENCY_CDF Конголезский франк (FrCD)
CURRENCY_CHF Швейцарский франк (CHF)
CURRENCY_CLP Чилийское песо ($)
CURRENCY_CNY Китайский юань (¥)
CURRENCY_COP Колумбийское песо ($)
CURRENCY_CRC Костариканский колон (₡)
CURRENCY_CZK Чешская крона (Kč)
CURRENCY_DKK датская крона (кр.)
CURRENCY_DOP Доминиканское песо (RD$)
CURRENCY_EGP Египетский фунт (£)
CURRENCY_ETB Эфиопский быр (бирр)
CURRENCY_EUR Евро (€)
CURRENCY_GBP Британский фунт стерлингов (£)
CURRENCY_HKD Гонконгский доллар ($)
CURRENCY_HRK Хорватская куна (kn)
CURRENCY_HUF Венгерский форинт (Ft)
CURRENCY_IDR Индонезийская рупия (Rp)
CURRENCY_ILS Израильский новый шекель (₪)
CURRENCY_INR Индийская рупия (₹)
CURRENCY_IRR Иранский риал (Rial)
CURRENCY_ISK Исландская крона (кр)
CURRENCY_JMD Ямайский доллар ($)
CURRENCY_JPY Японская иена (¥)
CURRENCY_KRW Южнокорейский вон (₩)
CURRENCY_LKR Шри-ланкийская рупия (Rs)
CURRENCY_LTL Литовский лит (Lt)
CURRENCY_MNT Монгольский тугрик (₮)
CURRENCY_MVR Мальдивская руфия (Rf)
CURRENCY_MXN Мексиканское песо ($)
CURRENCY_MYR Малайзийский ринггит (RM)
CURRENCY_NOK норвежская крона (кр)
CURRENCY_NZD Доллары Новой Зеландии ($)
CURRENCY_PAB Панамский бальбоа (B/.)
CURRENCY_PEN Перуанский Нуэво-Соль (S/.)
CURRENCY_PHP Филиппинское песо (₱)
CURRENCY_PKR Пакистанская рупия (Rs)
CURRENCY_PLN Польский злотый (zł)
CURRENCY_RON Румынский лей (RON)
CURRENCY_RSD Сербский динар (дин)
CURRENCY_RUB Российский рубль (₽)
CURRENCY_SAR Саудовский риал (риал)
CURRENCY_SEK Шведская крона (кр)
CURRENCY_SGD Сингапурский доллар ($)
CURRENCY_THB Тайский бат (฿)
CURRENCY_TRY Турецкая лира (₺)
CURRENCY_TWD Новый тайваньский доллар (NT$)
CURRENCY_TZS Танзанийский шиллинг (TSh)
CURRENCY_UAH Украинская гривна (грн.)
CURRENCY_USD Доллар США ($)
CURRENCY_UYU Доллар США ($)
CURRENCY_VEF Уругвайское песо ($)
CURRENCY_VND Венесуэла Боливар Фуэрте (Bs)
CURRENCY_YER Вьетнамский донг (₫)
CURRENCY_ZAR Йеменский риал (риал)

SemanticGroup

Это всего лишь список предлагаемых значений, вы можете выбирать значения вне этого списка. Однако установка этого поля не переопределит группу, которую Looker Studio использует в опции Type для редактора полей.

Предлагаемое значение Описание
NUMERIC Числовая группа
DATETIME Группа ДатаВремя
GEO Гео группа
CURRENCY Валютная группа

Тип агрегации по умолчанию

Перечисляемое значение Описание
AVG Среднее числовое значение (среднее) записей.
COUNT Количество записей.
COUNT_DISTINCT Количество отдельных записей.
MAX Максимум записей.
MIN Минимум записей.
SUM Сумма записей.
NONE Нет агрегации
AUTO Должен быть установлен для вычисляемых полей, включающих агрегацию

Тип авторизации

Значения для типа метода аутентификации могут быть одним из следующих:

Перечисляемое значение Описание
NONE Указывает, что для соединителя не требуется проверка подлинности.
OAUTH2 Указывает, что соединитель использует OAuth 2.0.
KEY Указывает, что соединитель использует ключ API.
USER_PASS Указывает, что соединитель использует имя пользователя и пароль.
USER_TOKEN Указывает, что соединитель использует имя пользователя/токен.
PATH_USER_PASS Указывает, что соединитель использует путь/имя пользователя/пароль.
PATH_KEY Указывает, что соединитель использует путь/ключ.

Тип конфигурации

Значения для типов элементов формы конфигурации могут быть одним из следующих:

Перечисляемое значение Описание
TEXTINPUT Элемент ввода будет однострочным текстовым полем.
TEXTAREA Элемент ввода будет многострочным textarea полем.
SELECT_SINGLE Элемент ввода будет раскрывающимся списком для вариантов с одним выбором.
SELECT_MULTIPLE Элемент ввода будет раскрывающимся списком для выбора нескольких вариантов.
CHECKBOX Элемент ввода будет одним флажком, который можно использовать для захвата логических значений.
INFO Это статическое текстовое поле, которое можно использовать для предоставления инструкций или информации пользователю. Любые ссылки будут кликабельны.

Оператор фильтра

Оператор
РАВНО
СОДЕРЖИТ
REGEXP_PARTIAL_MATCH
REGEXP_EXACT_MATCH
IN_LIST
НУЛЕВОЙ
МЕЖДУ
NUMERIC_GREATER_THAN
NUMERIC_GREATER_THAN_OR_EQUAL
NUMERIC_LESS_THAN
NUMERIC_LESS_THAN_OR_EQUAL

EQUALS

Значение сравнения точно соответствует значению измерения.

Пример предложения:

{
    "operator": "EQUALS",
    "type": "INCLUDE",
    "values": ["USA"],
    "fieldName": "Country"
}

Данные до применения фильтра:

Страна Город
США Сиэтл
Калифорния Монреаль
РК Сеул

Данные после применения фильтра:

Страна Город
США Сиэтл

CONTAINS

Значение сравнения содержится в значении измерения.

Пример предложения:

{
    "operator": "CONTAINS",
    "type": "INCLUDE",
    "values": ["A"],
    "fieldName": "COUNTRY"
}

Данные до применения фильтра:

Страна Город
США Сиэтл
Калифорния Монреаль
РК Сеул

Данные после применения фильтра:

Страна Город
США Сиэтл
Калифорния Монреаль

REGEXP_PARTIAL_MATCH

Значение измерения содержит регулярное выражение.

Пример предложения:

{
    "operator": "REGEXP_PARTIAL_MATCH",
    "type": "INCLUDE",
    "values": ["(?i)R[A-Z]*"],
    "fieldName": ""
}

Данные до применения фильтра:

Страна Город
США Сиэтл
Калифорния Монреаль
РК Сеул
RU Москва

Данные после применения фильтра:

Страна Город
РК Сеул
RU Москва

REGEXP_EXACT_MATCH

Значение измерения соответствует регулярному выражению.

Пример предложения:

{
    "operator": "REGEXP_EXACT_MATCH",
    "type": "INCLUDE",
    "values": ["^R[A-Z]*K$"],
    "fieldName": ""
}

Данные до применения фильтра:

Страна Город
США Сиэтл
Калифорния Монреаль
РК Сеул
RU Москва

Данные после применения фильтра:

Страна Город
РК Сеул

IN_LIST

Одно или несколько значений сравнения точно соответствуют значению измерения.

Пример предложения:

{
    "operator": "IN_LIST",
    "type": "INCLUDE",
    "values": ["USA", "CA"],
    "fieldName": "Country"
}

Данные до применения фильтра:

Страна Город
США Сиэтл
Калифорния Монреаль
РК Сеул

Данные после применения фильтра:

Страна Город
США Сиэтл
Калифорния Монреаль

IS_NULL

Соответствует, если значение измерения равно null.

Пример предложения:

{
    "operator": "IS_NULL",
    "type": "INCLUDE",
    "values": [],
    "fieldName": "COUNTRY"
}

Данные до применения фильтра:

Страна Город
США Сиэтл
Калифорния Монреаль
РК Сеул
RU Москва
Терабития

Данные после применения фильтра:

Страна Город
Терабития

BETWEEN

Соответствует, если значение измерения находится между двумя проверочными значениями.

Пример предложения:

{
    "operator": "BETWEEN",
    "type": "INCLUDE",
    "values": ["20190101", "20190131"],
    "fieldName": "Date"
}

Данные до применения фильтра:

Страна Дата
США 20190101
США 20190111
США 20190201

Данные после применения фильтра:

Страна Дата
США 20190101
США 20190111

NUMERIC_GREATER_THAN

Соответствует, если значение измерения больше тестового значения.

Пример предложения:

{
    "operator": "NUMERIC_GREATER_THAN",
    "type": "INCLUDE",
    "values": ["20190101"],
    "fieldName": "Date"
}

Данные до применения фильтра:

Страна Дата
США 20190101
США 20190111
США 20190201

Данные после применения фильтра:

Страна Дата
США 20190111
США 20190201

NUMERIC_GREATER_THAN_OR_EQUAL

Соответствует, если значение измерения больше или равно тестовому значению.

Пример предложения:

{
    "operator": "NUMERIC_GREATER_THAN_OR_EQUAL",
    "type": "INCLUDE",
    "values": ["20190101"],
    "fieldName": "Date"
}

Данные до применения фильтра:

Страна Дата
США 20180101
США 20190101
США 20190111
США 20190201

Данные после применения фильтра:

Страна Дата
США 20190101
США 20190111
США 20190201

NUMERIC_LESS_THAN

Соответствует, если значение измерения меньше или равно тестовому значению.

Пример предложения:

{
    "operator": "NUMERIC_LESS_THAN",
    "type": "INCLUDE",
    "values": ["20190101"],
    "fieldName": "Date"
}

Данные до применения фильтра:

Страна Дата
США 20180101
США 20190101
США 20190111
США 20190201

Данные после применения фильтра:

Страна Дата
США 20180101

NUMERIC_LESS_THAN_OR_EQUAL

Соответствует, если значение измерения меньше или равно тестовому значению.

Пример предложения:

{
    "operator": "NUMERIC_LESS_THAN_OR_EQUAL",
    "type": "INCLUDE",
    "values": ["20190101"],
    "fieldName": "Date"
}

Данные до применения фильтра:

Страна Дата
США 20180101
США 20190101
США 20190111
США 20190201

Данные после применения фильтра:

Страна Дата
США 20180101
США 20190101