Method: triggers.fire

Уведомляет Google о том, что произошло событие-триггер.

HTTP-запрос

POST https://workspacestudio.googleapis.com/v1/{name=triggers/*}:fire

В URL-адресе используется синтаксис транскодирования gRPC .

Параметры пути

Параметры
name

string

Обязательно. Имя ресурса триггера. Формат: triggers/{trigger_id}

Текст запроса

Тело запроса содержит данные следующей структуры:

JSON-представление
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
Поля
outputs

map (key: string, value: object ( VariableData ))

Необязательно. Выходные переменные из события-триггера в стороннем приложении.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

log

object ( TextFormat )

Необязательно. Необязательный журнал событий, отображаемый пользователю, для события-триггера.

requestId

string

Необязательно. Уникальный идентификатор для этого запроса. Ограничен 36 символами ASCII. Рекомендуется использовать случайный UUID. Этот запрос является идемпотентным только в том случае, если указан requestId .

Ответный текст

В случае успеха тело ответа будет пустым.

Области полномочий

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/workspace.studio.trigger

Для получения более подробной информации см. руководство по авторизации .

ПеременныеДанные

Представляет собой переменные данные, которые могут содержать несколько значений разных типов.

JSON-представление
{
  "booleanValues": [
    boolean
  ],
  "integerValues": [
    string
  ],
  "stringValues": [
    string
  ],
  "timestampValues": [
    string
  ],
  "resourceReferences": [
    string
  ],
  "resourceDataValues": [
    {
      object (ResourceData)
    }
  ],
  "emailAddressValues": [
    string
  ],
  "users": [
    string
  ]
}
Поля
booleanValues[]

boolean

Логические значения.

integerValues[]

string ( int64 format)

Целочисленные значения.

stringValues[]

string

Строковые значения.

timestampValues[]

string ( Timestamp format)

Значения временных меток.

Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

resourceReferences[]

string

Список идентификаторов ресурсов (например, "spaces/123").

resourceDataValues[]

object ( ResourceData )

Список данных о ресурсах.

emailAddressValues[]

string

Значения адресов электронной почты.

users[]

string

Значения для пользователей Google имеют формат users/{user} .

ResourceData

Значение ресурса, специфичное для приложения.

JSON-представление
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
Поля
fields

map (key: string, value: object ( VariableData ))

Карта полей ресурса, отсортированная по имени поля.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Текстовый формат

Блок текста с широкими возможностями форматирования, включая стили, гиперссылки и интерактивные элементы.

JSON-представление
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Поля
textFormatElements[]

object ( TextFormatElement )

Необязательно. Набор элементов форматирования текста.

TextFormatElement

Отдельный элемент в сообщении WorkflowTextFormatMarkup, который может представлять собой фрагмент текста, стилизованный текст, гиперссылку или контейнер списка.

JSON-представление
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
Поля
element поля объединения. Элемент, представляющий один из нескольких возможных элементов форматирования текста. element может быть только одним из следующих:
text

string

Текст в текстовом формате.

chip

object ( Chip )

Интерактивный чип в текстовом формате.

styledText

object ( StyledText )

Текст, оформленный в текстовом формате.

listContainer

object ( ListContainer )

Список контейнеров в текстовом формате.

Чип

Интерактивная фишка в текстовом формате.

JSON-представление
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
Поля
icon

object ( Icon )

Необязательно. Значок, отображаемый на чипе.

label

string

Необязательно. Текст, отображаемый на чипе.

url

string

Необязательно. URL-адрес, на который будет осуществлен переход при нажатии на чип.

Икона

Значок на чипе.

JSON-представление
{

  "iconUrl": string,
  "materialIcon": string
}
Поля
icons полей объединения. Значок, отображаемый на чипе. icons могут быть только одним из следующих:
iconUrl

string

Отобразить пользовательскую иконку, размещенную по адресу HTTPS.

Например:

"iconUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png"

Поддерживаются файлы следующих форматов: .png и .jpg .

materialIcon

string

Имя значка, определенное в Google Material Icon , например, check_box . Любые недопустимые имена отбрасываются и заменяются пустой строкой, что приводит к невозможности отображения значка.

StyledText

Текстовый элемент с возможностью выбора стиля, например, жирный, курсив и цвет.

JSON-представление
{
  "text": string,
  "styles": [
    enum (Style)
  ],
  "fontWeight": enum (FontWeight),
  "color": {
    object (Color)
  },
  "wrapStyle": enum (WrapStyle)
}
Поля
text

string

Необязательно. Основное содержание текста.

styles[]

enum ( Style )

Необязательно. Набор стилей, применяемых к тексту.

fontWeight

enum ( FontWeight )

Необязательно. Толщина шрифта текста.

color

object ( Color )

Необязательно. Цвет текста.

wrapStyle

enum ( WrapStyle )

Необязательно. Стиль переноса текста.

Стиль

Перечисление для различных стилей текста, таких как курсив, подчеркивание и т. д.

Перечисления
STYLE_UNSPECIFIED Стиль не применялся.
ITALIC Курсив.
UNDERLINE Подчеркните стиль.
STRIKETHROUGH Зачеркнутый стиль.
LINE_BREAK Разрыв строки.
UPPERCASE Стиль написания заглавными буквами.
CODE Код.
CODE_BLOCK Блок кода.

FontWeight

Перечисление для выбора различной толщины шрифта.

Перечисления
FONT_WEIGHT_UNSPECIFIED Стандартный вес при нормальной толщине.
LIGHT Меньший вес при меньшей толщине.
MEDIUM Промежуточный оттенок между светлым и жирным.
BOLD Увеличенный вес при большей толщине.

Цвет

Представляет цвет в цветовом пространстве RGBA. Это представление разработано для упрощения преобразования в цветовые представления и обратно в различных языках программирования, а не для компактности. Например, поля этого представления можно легко передать конструктору java.awt.Color в Java; его также легко передать методу +colorWithRed:green:blue:alpha класса UIColor в iOS; и, приложив немного усилий, его можно легко отформатировать в строку CSS rgba() в JavaScript.

На этой справочной странице отсутствует информация об абсолютном цветовом пространстве, которое следует использовать для интерпретации значения RGB — например, sRGB, Adobe RGB, DCI-P3 и BT.2020. По умолчанию приложения должны использовать цветовое пространство sRGB.

Когда необходимо определить равенство цветов, в реализациях, если не указано иное, два цвета считаются равными, если значения красного, зеленого, синего и альфа-канала различаются не более чем на 1e-5 .

Пример (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Пример (iOS / Objective-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Пример (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
JSON-представление
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Поля
red

number

Количество красного цвета в заданном диапазоне значений находится в интервале [0, 1].

green

number

Количество зеленого цвета в заданном диапазоне значений находится в интервале [0, 1].

blue

number

Количество синего цвета в заданном цвете выражается значением в интервале [0, 1].

alpha

number

Доля этого цвета, которая должна быть применена к пикселю. То есть, окончательный цвет пикселя определяется уравнением:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

Это означает, что значение 1,0 соответствует сплошному цвету, а значение 0,0 — полностью прозрачному цвету. Используется оберточное сообщение, а не простое скалярное значение с плавающей запятой, что позволяет различать значение по умолчанию и значение, которое не задано. Если этот параметр опущен, объект цвета отображается как сплошной цвет (как если бы значению альфа-канала было явно присвоено значение 1,0).

WrapStyle

Перечисление для различных стилей обертывания.

Перечисления
WRAP_STYLE_UNSPECIFIED Стиль обертывания не указан.
NO_WRAP Без облегающего стиля.

ListContainer

Контейнер для элементов списка, где каждый элемент списка может содержать несколько элементов форматирования текста (TextFormatElement).

JSON-представление
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
Поля
listNestLevel

string ( int64 format)

Необязательный параметр. Уровень вложенности списка. Начинается с 0 для верхнего уровня и увеличивается на 1 для каждого последующего вложенного списка.

listType

enum ( ListType )

Необязательный параметр. Тип списка.

listItems[]

object ( ListItem )

Необязательно. Подборка пунктов списка.

ListType

Перечисление для различных типов списков.

Перечисления
LIST_TYPE_UNSPECIFIED Тип списка не указан.
ORDERED Упорядоченный список.
UNORDERED Неупорядоченный список.

Элемент списка

Пункт списка.

JSON-представление
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Поля
textFormatElements[]

object ( TextFormatElement )

Необязательно. Набор элементов форматирования текста.