Требуемые функции
getConfig()
Возвращает настраиваемые пользователем параметры соединителя.
Запрос
 @param {Object} request Объект JavaScript, содержащий параметры запроса конфигурации.
Объект JavaScript параметра содержит данные следующей структуры:
{
  languageCode: string
}
| Имя поля | Тип | Описание | 
|---|---|---|
| languageCode | string | Код, представляющий язык пользователя. Этот код можно дополнительно использовать для возврата локализованной версии параметров конфигурации для пользователя. См. полный список поддерживаемых языков и кодов . | 
| configParams | объект | Присутствует, если предыдущий вызов getConfig()имел.setIsSteppedConfig(true). Объект, содержащий значения конфигурации, предоставленные пользователем на данный момент. | 
Пример запроса
 Пример запроса getConfig для пользователя, у которого установлен итальянский язык:
{
  languageCode: "it"
}
Ответ
Сервис студии Looker
 @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 | Используется только в том случае, если typeTEXTINPUTилиTEXTAREAТекст-заполнитель, который будет использоваться в качестве краткой подсказки для описания ожидаемого значения поля ввода. | 
| configParams[].isDynamic | boolean | Будет ли это поле использоваться для динамического заполнения последующих записей конфигурации. По умолчанию false | 
| configParams[].parameterControl.allowOverride | boolean | Включает переопределение параметра. Если установлено значение true, создатели источников данных могут включить это для редакторов отчетов. Значение по умолчаниюallowOverride—false. Если вы не хотите включать переопределение параметра, вы можете опуститьallowOverride. | 
| configParams[].options[] | list | Используется только typeSELECTЭто предоставляет список всех опций. | 
| 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
  }
getSchema()
Возвращает схему для данного запроса. Это предоставляет информацию о том, как организованы данные соединителя. Для каждого поля он включает такие сведения, как идентификаторы, имена, типы данных и т. д.
Запрос
 @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
 @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 | Скриптпарамс | Объект, содержащий информацию, необходимую для выполнения соединителя. | 
| 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. | 
скриптПарамс
| Имя | Тип | Описание | 
|---|---|---|
| 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();
getAuthType()
Возвращает метод аутентификации соединителя.
Запрос
Эта функция не принимает никаких аргументов.
Ответ
Сервис студии Looker
 @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 , то пользователь, скорее всего, будет уведомлен о том, что срок действия аутентификации истек, и ему будет предложено повторно авторизоваться.
сбросАутентификация()
Очищает учетные данные пользователя для сторонней службы.
Запрос
Эта функция формально не принимает никаких аргументов.
Ответ
Ответ пустой.
Необходимые функции 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 будет содержать данные следующей структуры (ниже приведены два представления: одно для успешного запроса, а другое для неудачного запроса): 
// 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 , а также документацию по службе Apps Script HTML .
Требуемые функции пользователя/пароля и ключа
setCredentials()
Сохраняет учетные данные, переданные из 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
См. «Поле класса» для получения информации обо всех методах, существующих для этого типа поля.
 Создание поля 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');
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 |  Необязательное свойство, определяющее способ вычисления поля. Если формула недействительна, поле удаляется. Если указаны оба свойства агрегации (   Только определенные  Если вы зададите это поле вручную, то его нельзя будет редактировать в редакторе полей. Более подробную информацию о создании формул см. в разделе О вычисляемых полях . | 
| 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 Schema. | 
| NUMBER | Числовой тип данных в 64-битном формате с плавающей запятой двойной точности (IEEE 754). | 
| BOOLEAN | Логическое значение: trueилиfalse. Определено спецификацией JSON Schema. | 
Семантический тип
| Перечисляемое значение | Описание | Пример | 
|---|---|---|
| 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 | Болгарский лев (lev) | 
| CURRENCY_BOB | Боливийский боливиано (Bs) | 
| CURRENCY_BRL | Бразильский реал (R$) | 
| 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 | Хорватская куна (кн) | 
| CURRENCY_HUF | Венгерский форинт (Ft) | 
| CURRENCY_IDR | Индонезийская рупия (Rp) | 
| CURRENCY_ILS | Израильский новый шекель (₪) | 
| CURRENCY_INR | Индийская рупия (₹) | 
| CURRENCY_IRR | Иранский риал (Риал) | 
| CURRENCY_ISK | Исландская крона (kr) | 
| CURRENCY_JMD | Ямайский доллар ($) | 
| CURRENCY_JPY | Японская иена (¥) | 
| CURRENCY_KRW | Южнокорейская вона (₩) | 
| CURRENCY_LKR | Шриланкийская рупия (рупий) | 
| CURRENCY_LTL | Литовский лит (Lt) | 
| CURRENCY_MNT | Монгольский тугрик (₮) | 
| CURRENCY_MVR | Мальдивская Руфия (Рф) | 
| CURRENCY_MXN | Мексиканское песо ($) | 
| CURRENCY_MYR | Малайзийский ринггит (RM) | 
| CURRENCY_NOK | Норвежская крона (кр) | 
| CURRENCY_NZD | Новозеландские доллары ($) | 
| CURRENCY_PAB | Панамский Бальбоа (Б/.) | 
| CURRENCY_PEN | Перуанское Нуэво-Соль (S/.) | 
| CURRENCY_PHP | Филиппинское песо (₱) | 
| CURRENCY_PKR | Пакистанская рупия (рупий) | 
| CURRENCY_PLN | Польский злотый (zł) | 
| CURRENCY_RON | Румынский лей (RON) | 
| CURRENCY_RSD | Сербский динар (din) | 
| 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 | Йеменский риал (Риал) | 
Семантическая группа
 Это всего лишь список предлагаемых значений. Вы можете выбирать значения за пределами этого списка. Однако установка этого поля не отменяет группу, которую Looker Studio использует в параметре Type редактора полей.
| Рекомендуемое значение | Описание | 
|---|---|
| NUMERIC | Числовая группа | 
| DATETIME | Группа ДатаВремя | 
| GEO | Гео Групп | 
| CURRENCY | Валютная группа | 
Тип DefaultAggregationType
| Перечисляемое значение | Описание | 
|---|---|
| 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 | 
| В_СПИСОК | 
| IS_NULL | 
| МЕЖДУ | 
| 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
Соответствует, если значение измерения равно нулю.
Пример предложения:
{
    "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 |