blob: 572d5da98ce0fa57b1d68b77e74d21994f2d2060 [file]
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.apps.script.type;
import "google/apps/script/type/addon_widget_set.proto";
import "google/apps/script/type/extension_point.proto";
import "google/protobuf/struct.proto";
option csharp_namespace = "Google.Apps.Script.Type";
option go_package = "google.golang.org/genproto/googleapis/apps/script/type";
option java_multiple_files = true;
option java_package = "com.google.apps.script.type";
option php_namespace = "Google\\Apps\\Script\\Type";
option ruby_package = "Google::Apps::Script::Type";
// Add-on configuration that is shared across all add-on host applications.
message CommonAddOnManifest {
// Required. The display name of the add-on.
string name = 1;
// Required. The URL for the logo image shown in the add-on toolbar.
string logo_url = 2;
// Common layout properties for the add-on cards.
LayoutProperties layout_properties = 3;
// The widgets used in the add-on. If this field is not specified,
// it indicates that default set is used.
AddOnWidgetSet add_on_widget_set = 4;
// Whether to pass locale information from host app.
bool use_locale_from_app = 5;
// Defines an endpoint that will be executed in any context, in
// any host. Any cards generated by this function will always be available to
// the user, but may be eclipsed by contextual content when this add-on
// declares more targeted triggers.
HomepageExtensionPoint homepage_trigger = 6;
// Defines a list of extension points in the universal action menu which
// serves as a setting menu for the add-on. The extension point can be
// link URL to open or an endpoint to execute as a form
// submission.
repeated UniversalActionExtensionPoint universal_actions = 7;
// An OpenLink action
// can only use a URL with an HTTPS, MAILTO or TEL scheme. For HTTPS links,
// the URL must also
// [match](/gmail/add-ons/concepts/manifests#whitelisting_urls) one of the
// prefixes specified in this whitelist. If the prefix omits the scheme, HTTPS
// is assumed. Notice that HTTP links are automatically rewritten to HTTPS
// links.
google.protobuf.ListValue open_link_url_prefixes = 8;
}
// Card layout properties shared across all add-on host applications.
message LayoutProperties {
// The primary color of the add-on. It sets the color of toolbar. If no
// primary color is set explicitly, the default value provided by the
// framework is used.
string primary_color = 1;
// The secondary color of the add-on. It sets the color of buttons.
// If primary color is set but no secondary color is set, the
// secondary color is the same as the primary color. If neither primary
// color nor secondary color is set, the default value provided by the
// framework is used.
string secondary_color = 2;
}
// Options for sending requests to add-on HTTP endpoints
message HttpOptions {
// Configuration for the token sent in the HTTP Authorization header
HttpAuthorizationHeader authorization_header = 1;
}
// Authorization header sent in add-on HTTP requests
enum HttpAuthorizationHeader {
// Default value, equivalent to `SYSTEM_ID_TOKEN`
HTTP_AUTHORIZATION_HEADER_UNSPECIFIED = 0;
// Send an ID token for the project-specific Google Workspace Add-ons system
// service account (default)
SYSTEM_ID_TOKEN = 1;
// Send an ID token for the end user
USER_ID_TOKEN = 2;
// Do not send an Authentication header
NONE = 3;
}