1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.apps.meet.v2; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 22*d5c09012SAndroid Build Coastguard Worker 23*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Apps.Meet.V2"; 24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/apps/meet/apiv2/meetpb;meetpb"; 25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ResourceProto"; 27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.apps.meet.v2"; 28*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Apps\\Meet\\V2"; 29*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Apps::Meet::V2"; 30*d5c09012SAndroid Build Coastguard Worker 31*d5c09012SAndroid Build Coastguard Worker// Virtual place where conferences are held. Only one active conference can be 32*d5c09012SAndroid Build Coastguard Worker// held in one space at any given time. 33*d5c09012SAndroid Build Coastguard Workermessage Space { 34*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 35*d5c09012SAndroid Build Coastguard Worker type: "meet.googleapis.com/Space" 36*d5c09012SAndroid Build Coastguard Worker pattern: "spaces/{space}" 37*d5c09012SAndroid Build Coastguard Worker }; 38*d5c09012SAndroid Build Coastguard Worker 39*d5c09012SAndroid Build Coastguard Worker // Immutable. Resource name of the space. 40*d5c09012SAndroid Build Coastguard Worker // Format: `spaces/{space}` 41*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IMMUTABLE]; 42*d5c09012SAndroid Build Coastguard Worker 43*d5c09012SAndroid Build Coastguard Worker // Output only. URI used to join meetings, such as 44*d5c09012SAndroid Build Coastguard Worker // `https://meet.google.com/abc-mnop-xyz`. 45*d5c09012SAndroid Build Coastguard Worker string meeting_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 46*d5c09012SAndroid Build Coastguard Worker 47*d5c09012SAndroid Build Coastguard Worker // Output only. Type friendly code to join the meeting. Format: 48*d5c09012SAndroid Build Coastguard Worker // `[a-z]+-[a-z]+-[a-z]+` such as `abc-mnop-xyz`. The maximum length is 128 49*d5c09012SAndroid Build Coastguard Worker // characters. Can only be used as an alias of the space ID to get the space. 50*d5c09012SAndroid Build Coastguard Worker string meeting_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 51*d5c09012SAndroid Build Coastguard Worker 52*d5c09012SAndroid Build Coastguard Worker // Configuration pertaining to the meeting space. 53*d5c09012SAndroid Build Coastguard Worker SpaceConfig config = 5; 54*d5c09012SAndroid Build Coastguard Worker 55*d5c09012SAndroid Build Coastguard Worker // Active conference, if it exists. 56*d5c09012SAndroid Build Coastguard Worker ActiveConference active_conference = 6; 57*d5c09012SAndroid Build Coastguard Worker} 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker// Active conference. 60*d5c09012SAndroid Build Coastguard Workermessage ActiveConference { 61*d5c09012SAndroid Build Coastguard Worker // Output only. Reference to 'ConferenceRecord' resource. 62*d5c09012SAndroid Build Coastguard Worker // Format: `conferenceRecords/{conference_record}` where `{conference_record}` 63*d5c09012SAndroid Build Coastguard Worker // is a unique ID for each instance of a call within a space. 64*d5c09012SAndroid Build Coastguard Worker string conference_record = 1 [ 65*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 66*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 67*d5c09012SAndroid Build Coastguard Worker type: "meet.googleapis.com/ConferenceRecord" 68*d5c09012SAndroid Build Coastguard Worker } 69*d5c09012SAndroid Build Coastguard Worker ]; 70*d5c09012SAndroid Build Coastguard Worker} 71*d5c09012SAndroid Build Coastguard Worker 72*d5c09012SAndroid Build Coastguard Worker// The configuration pertaining to a meeting space. 73*d5c09012SAndroid Build Coastguard Workermessage SpaceConfig { 74*d5c09012SAndroid Build Coastguard Worker // Possible access types for a meeting space. 75*d5c09012SAndroid Build Coastguard Worker enum AccessType { 76*d5c09012SAndroid Build Coastguard Worker // Default value specified by the user's organization. 77*d5c09012SAndroid Build Coastguard Worker // Note: This is never returned, as the configured access type is 78*d5c09012SAndroid Build Coastguard Worker // returned instead. 79*d5c09012SAndroid Build Coastguard Worker ACCESS_TYPE_UNSPECIFIED = 0; 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // Anyone with the join information (for example, the URL or phone access 82*d5c09012SAndroid Build Coastguard Worker // information) can join without knocking. 83*d5c09012SAndroid Build Coastguard Worker OPEN = 1; 84*d5c09012SAndroid Build Coastguard Worker 85*d5c09012SAndroid Build Coastguard Worker // Members of the host's organization, invited external users, and dial-in 86*d5c09012SAndroid Build Coastguard Worker // users can join without knocking. Everyone else must knock. 87*d5c09012SAndroid Build Coastguard Worker TRUSTED = 2; 88*d5c09012SAndroid Build Coastguard Worker 89*d5c09012SAndroid Build Coastguard Worker // Only invitees can join without knocking. Everyone else must knock. 90*d5c09012SAndroid Build Coastguard Worker RESTRICTED = 3; 91*d5c09012SAndroid Build Coastguard Worker } 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // Entry points that can be used to join a meeting. Example: 94*d5c09012SAndroid Build Coastguard Worker // `meet.google.com`, the Meet Embed SDK Web, or a mobile application. 95*d5c09012SAndroid Build Coastguard Worker enum EntryPointAccess { 96*d5c09012SAndroid Build Coastguard Worker // Unused. 97*d5c09012SAndroid Build Coastguard Worker ENTRY_POINT_ACCESS_UNSPECIFIED = 0; 98*d5c09012SAndroid Build Coastguard Worker 99*d5c09012SAndroid Build Coastguard Worker // All entry points are allowed. 100*d5c09012SAndroid Build Coastguard Worker ALL = 1; 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker // Only entry points owned by the Google Cloud project that created the 103*d5c09012SAndroid Build Coastguard Worker // space can be used to join meetings in this space. Apps can use the Meet 104*d5c09012SAndroid Build Coastguard Worker // Embed SDK Web or mobile Meet SDKs to create owned entry points. 105*d5c09012SAndroid Build Coastguard Worker CREATOR_APP_ONLY = 2; 106*d5c09012SAndroid Build Coastguard Worker } 107*d5c09012SAndroid Build Coastguard Worker 108*d5c09012SAndroid Build Coastguard Worker // Access type of the meeting space that determines who can join without 109*d5c09012SAndroid Build Coastguard Worker // knocking. Default: The user's default access settings. Controlled by the 110*d5c09012SAndroid Build Coastguard Worker // user's admin for enterprise users or RESTRICTED. 111*d5c09012SAndroid Build Coastguard Worker AccessType access_type = 1; 112*d5c09012SAndroid Build Coastguard Worker 113*d5c09012SAndroid Build Coastguard Worker // Defines the entry points that can be used to join meetings hosted in this 114*d5c09012SAndroid Build Coastguard Worker // meeting space. 115*d5c09012SAndroid Build Coastguard Worker // Default: EntryPointAccess.ALL 116*d5c09012SAndroid Build Coastguard Worker EntryPointAccess entry_point_access = 2; 117*d5c09012SAndroid Build Coastguard Worker} 118*d5c09012SAndroid Build Coastguard Worker 119*d5c09012SAndroid Build Coastguard Worker// Single instance of a meeting held in a space. 120*d5c09012SAndroid Build Coastguard Workermessage ConferenceRecord { 121*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 122*d5c09012SAndroid Build Coastguard Worker type: "meet.googleapis.com/ConferenceRecord" 123*d5c09012SAndroid Build Coastguard Worker pattern: "conferenceRecords/{conference_record}" 124*d5c09012SAndroid Build Coastguard Worker plural: "conferenceRecords" 125*d5c09012SAndroid Build Coastguard Worker singular: "conferenceRecord" 126*d5c09012SAndroid Build Coastguard Worker }; 127*d5c09012SAndroid Build Coastguard Worker 128*d5c09012SAndroid Build Coastguard Worker // Identifier. Resource name of the conference record. 129*d5c09012SAndroid Build Coastguard Worker // Format: `conferenceRecords/{conference_record}` where `{conference_record}` 130*d5c09012SAndroid Build Coastguard Worker // is a unique ID for each instance of a call within a space. 131*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 132*d5c09012SAndroid Build Coastguard Worker 133*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the conference started. Always set. 134*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 2 135*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 136*d5c09012SAndroid Build Coastguard Worker 137*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the conference ended. 138*d5c09012SAndroid Build Coastguard Worker // Set for past conferences. Unset if the conference is ongoing. 139*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 3 140*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 141*d5c09012SAndroid Build Coastguard Worker 142*d5c09012SAndroid Build Coastguard Worker // Output only. Server enforced expiration time for when this conference 143*d5c09012SAndroid Build Coastguard Worker // record resource is deleted. The resource is deleted 30 days after the 144*d5c09012SAndroid Build Coastguard Worker // conference ends. 145*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp expire_time = 4 146*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 147*d5c09012SAndroid Build Coastguard Worker 148*d5c09012SAndroid Build Coastguard Worker // Output only. The space where the conference was held. 149*d5c09012SAndroid Build Coastguard Worker string space = 5 [ 150*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 151*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "meet.googleapis.com/Space" } 152*d5c09012SAndroid Build Coastguard Worker ]; 153*d5c09012SAndroid Build Coastguard Worker} 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker// User who attended or is attending a conference. 156*d5c09012SAndroid Build Coastguard Workermessage Participant { 157*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 158*d5c09012SAndroid Build Coastguard Worker type: "meet.googleapis.com/Participant" 159*d5c09012SAndroid Build Coastguard Worker pattern: "conferenceRecords/{conference_record}/participants/{participant}" 160*d5c09012SAndroid Build Coastguard Worker plural: "participants" 161*d5c09012SAndroid Build Coastguard Worker singular: "participant" 162*d5c09012SAndroid Build Coastguard Worker }; 163*d5c09012SAndroid Build Coastguard Worker 164*d5c09012SAndroid Build Coastguard Worker oneof user { 165*d5c09012SAndroid Build Coastguard Worker // Signed-in user. 166*d5c09012SAndroid Build Coastguard Worker SignedinUser signedin_user = 4; 167*d5c09012SAndroid Build Coastguard Worker 168*d5c09012SAndroid Build Coastguard Worker // Anonymous user. 169*d5c09012SAndroid Build Coastguard Worker AnonymousUser anonymous_user = 5; 170*d5c09012SAndroid Build Coastguard Worker 171*d5c09012SAndroid Build Coastguard Worker // User calling from their phone. 172*d5c09012SAndroid Build Coastguard Worker PhoneUser phone_user = 6; 173*d5c09012SAndroid Build Coastguard Worker } 174*d5c09012SAndroid Build Coastguard Worker 175*d5c09012SAndroid Build Coastguard Worker // Output only. Resource name of the participant. 176*d5c09012SAndroid Build Coastguard Worker // Format: `conferenceRecords/{conference_record}/participants/{participant}` 177*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 178*d5c09012SAndroid Build Coastguard Worker 179*d5c09012SAndroid Build Coastguard Worker // Output only. Time when the participant first joined the meeting. 180*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp earliest_start_time = 7 181*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 182*d5c09012SAndroid Build Coastguard Worker 183*d5c09012SAndroid Build Coastguard Worker // Output only. Time when the participant left the meeting for the last time. 184*d5c09012SAndroid Build Coastguard Worker // This can be null if it's an active meeting. 185*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp latest_end_time = 8 186*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 187*d5c09012SAndroid Build Coastguard Worker} 188*d5c09012SAndroid Build Coastguard Worker 189*d5c09012SAndroid Build Coastguard Worker// Refers to each unique join or leave session when a user joins a conference 190*d5c09012SAndroid Build Coastguard Worker// from a device. Note that any time a user joins the conference a new unique ID 191*d5c09012SAndroid Build Coastguard Worker// is assigned. That means if a user joins a space multiple times from the same 192*d5c09012SAndroid Build Coastguard Worker// device, they're assigned different IDs, and are also be treated as different 193*d5c09012SAndroid Build Coastguard Worker// participant sessions. 194*d5c09012SAndroid Build Coastguard Workermessage ParticipantSession { 195*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 196*d5c09012SAndroid Build Coastguard Worker type: "meet.googleapis.com/ParticipantSession" 197*d5c09012SAndroid Build Coastguard Worker pattern: "conferenceRecords/{conference_record}/participants/{participant}/participantSessions/{participant_session}" 198*d5c09012SAndroid Build Coastguard Worker plural: "participantSessions" 199*d5c09012SAndroid Build Coastguard Worker singular: "participantSession" 200*d5c09012SAndroid Build Coastguard Worker }; 201*d5c09012SAndroid Build Coastguard Worker 202*d5c09012SAndroid Build Coastguard Worker // Identifier. Session id. 203*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 204*d5c09012SAndroid Build Coastguard Worker 205*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the user session starts. 206*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 2 207*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 208*d5c09012SAndroid Build Coastguard Worker 209*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the user session ends. Unset if the user 210*d5c09012SAndroid Build Coastguard Worker // session hasn’t ended. 211*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 3 212*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 213*d5c09012SAndroid Build Coastguard Worker} 214*d5c09012SAndroid Build Coastguard Worker 215*d5c09012SAndroid Build Coastguard Worker// A signed-in user can be: 216*d5c09012SAndroid Build Coastguard Worker// a) An individual joining from a personal computer, mobile device, or through 217*d5c09012SAndroid Build Coastguard Worker// companion mode. 218*d5c09012SAndroid Build Coastguard Worker// b) A robot account used by conference room devices. 219*d5c09012SAndroid Build Coastguard Workermessage SignedinUser { 220*d5c09012SAndroid Build Coastguard Worker // Output only. Unique ID for the user. Interoperable with Admin SDK API and 221*d5c09012SAndroid Build Coastguard Worker // People API. Format: `users/{user}` 222*d5c09012SAndroid Build Coastguard Worker string user = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 223*d5c09012SAndroid Build Coastguard Worker 224*d5c09012SAndroid Build Coastguard Worker // Output only. For a personal device, it's the user's first name and last 225*d5c09012SAndroid Build Coastguard Worker // name. For a robot account, it's the administrator-specified device name. 226*d5c09012SAndroid Build Coastguard Worker // For example, "Altostrat Room". 227*d5c09012SAndroid Build Coastguard Worker string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 228*d5c09012SAndroid Build Coastguard Worker} 229*d5c09012SAndroid Build Coastguard Worker 230*d5c09012SAndroid Build Coastguard Worker// User who joins anonymously (meaning not signed into a Google Account). 231*d5c09012SAndroid Build Coastguard Workermessage AnonymousUser { 232*d5c09012SAndroid Build Coastguard Worker // Output only. User provided name when they join a conference anonymously. 233*d5c09012SAndroid Build Coastguard Worker string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 234*d5c09012SAndroid Build Coastguard Worker} 235*d5c09012SAndroid Build Coastguard Worker 236*d5c09012SAndroid Build Coastguard Worker// User dialing in from a phone where the user's identity is unknown because 237*d5c09012SAndroid Build Coastguard Worker// they haven't signed in with a Google Account. 238*d5c09012SAndroid Build Coastguard Workermessage PhoneUser { 239*d5c09012SAndroid Build Coastguard Worker // Output only. Partially redacted user's phone number when calling. 240*d5c09012SAndroid Build Coastguard Worker string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 241*d5c09012SAndroid Build Coastguard Worker} 242*d5c09012SAndroid Build Coastguard Worker 243*d5c09012SAndroid Build Coastguard Worker// Metadata about a recording created during a conference. 244*d5c09012SAndroid Build Coastguard Workermessage Recording { 245*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 246*d5c09012SAndroid Build Coastguard Worker type: "meet.googleapis.com/Recording" 247*d5c09012SAndroid Build Coastguard Worker pattern: "conferenceRecords/{conference_record}/recordings/{recording}" 248*d5c09012SAndroid Build Coastguard Worker plural: "recordings" 249*d5c09012SAndroid Build Coastguard Worker singular: "recording" 250*d5c09012SAndroid Build Coastguard Worker }; 251*d5c09012SAndroid Build Coastguard Worker 252*d5c09012SAndroid Build Coastguard Worker // Current state of the recording session. 253*d5c09012SAndroid Build Coastguard Worker enum State { 254*d5c09012SAndroid Build Coastguard Worker // Default, never used. 255*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 256*d5c09012SAndroid Build Coastguard Worker 257*d5c09012SAndroid Build Coastguard Worker // An active recording session has started. 258*d5c09012SAndroid Build Coastguard Worker STARTED = 1; 259*d5c09012SAndroid Build Coastguard Worker 260*d5c09012SAndroid Build Coastguard Worker // This recording session has ended, but the recording file hasn't been 261*d5c09012SAndroid Build Coastguard Worker // generated yet. 262*d5c09012SAndroid Build Coastguard Worker ENDED = 2; 263*d5c09012SAndroid Build Coastguard Worker 264*d5c09012SAndroid Build Coastguard Worker // Recording file is generated and ready to download. 265*d5c09012SAndroid Build Coastguard Worker FILE_GENERATED = 3; 266*d5c09012SAndroid Build Coastguard Worker } 267*d5c09012SAndroid Build Coastguard Worker 268*d5c09012SAndroid Build Coastguard Worker oneof destination { 269*d5c09012SAndroid Build Coastguard Worker // Output only. Recording is saved to Google Drive as an MP4 file. The 270*d5c09012SAndroid Build Coastguard Worker // `drive_destination` includes the Drive `fileId` that can be used to 271*d5c09012SAndroid Build Coastguard Worker // download the file using the `files.get` method of the Drive API. 272*d5c09012SAndroid Build Coastguard Worker DriveDestination drive_destination = 6 273*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 274*d5c09012SAndroid Build Coastguard Worker } 275*d5c09012SAndroid Build Coastguard Worker 276*d5c09012SAndroid Build Coastguard Worker // Output only. Resource name of the recording. 277*d5c09012SAndroid Build Coastguard Worker // Format: `conferenceRecords/{conference_record}/recordings/{recording}` 278*d5c09012SAndroid Build Coastguard Worker // where `{recording}` is a 1:1 mapping to each unique recording session 279*d5c09012SAndroid Build Coastguard Worker // during the conference. 280*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 281*d5c09012SAndroid Build Coastguard Worker 282*d5c09012SAndroid Build Coastguard Worker // Output only. Current state. 283*d5c09012SAndroid Build Coastguard Worker State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 284*d5c09012SAndroid Build Coastguard Worker 285*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the recording started. 286*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 4 287*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 288*d5c09012SAndroid Build Coastguard Worker 289*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the recording ended. 290*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 5 291*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 292*d5c09012SAndroid Build Coastguard Worker} 293*d5c09012SAndroid Build Coastguard Worker 294*d5c09012SAndroid Build Coastguard Worker// Export location where a recording file is saved in Google Drive. 295*d5c09012SAndroid Build Coastguard Workermessage DriveDestination { 296*d5c09012SAndroid Build Coastguard Worker // Output only. The `fileId` for the underlying MP4 file. For example, 297*d5c09012SAndroid Build Coastguard Worker // "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use `$ GET 298*d5c09012SAndroid Build Coastguard Worker // https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download 299*d5c09012SAndroid Build Coastguard Worker // the blob. For more information, see 300*d5c09012SAndroid Build Coastguard Worker // https://developers.google.com/drive/api/v3/reference/files/get. 301*d5c09012SAndroid Build Coastguard Worker string file = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 302*d5c09012SAndroid Build Coastguard Worker 303*d5c09012SAndroid Build Coastguard Worker // Output only. Link used to play back the recording file in the browser. For 304*d5c09012SAndroid Build Coastguard Worker // example, `https://drive.google.com/file/d/{$fileId}/view`. 305*d5c09012SAndroid Build Coastguard Worker string export_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 306*d5c09012SAndroid Build Coastguard Worker} 307*d5c09012SAndroid Build Coastguard Worker 308*d5c09012SAndroid Build Coastguard Worker// Metadata for a transcript generated from a conference. It refers to the ASR 309*d5c09012SAndroid Build Coastguard Worker// (Automatic Speech Recognition) result of user's speech during the conference. 310*d5c09012SAndroid Build Coastguard Workermessage Transcript { 311*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 312*d5c09012SAndroid Build Coastguard Worker type: "meet.googleapis.com/Transcript" 313*d5c09012SAndroid Build Coastguard Worker pattern: "conferenceRecords/{conference_record}/transcripts/{transcript}" 314*d5c09012SAndroid Build Coastguard Worker plural: "transcripts" 315*d5c09012SAndroid Build Coastguard Worker singular: "transcript" 316*d5c09012SAndroid Build Coastguard Worker }; 317*d5c09012SAndroid Build Coastguard Worker 318*d5c09012SAndroid Build Coastguard Worker // Current state of the transcript session. 319*d5c09012SAndroid Build Coastguard Worker enum State { 320*d5c09012SAndroid Build Coastguard Worker // Default, never used. 321*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 322*d5c09012SAndroid Build Coastguard Worker 323*d5c09012SAndroid Build Coastguard Worker // An active transcript session has started. 324*d5c09012SAndroid Build Coastguard Worker STARTED = 1; 325*d5c09012SAndroid Build Coastguard Worker 326*d5c09012SAndroid Build Coastguard Worker // This transcript session has ended, but the transcript file hasn't been 327*d5c09012SAndroid Build Coastguard Worker // generated yet. 328*d5c09012SAndroid Build Coastguard Worker ENDED = 2; 329*d5c09012SAndroid Build Coastguard Worker 330*d5c09012SAndroid Build Coastguard Worker // Transcript file is generated and ready to download. 331*d5c09012SAndroid Build Coastguard Worker FILE_GENERATED = 3; 332*d5c09012SAndroid Build Coastguard Worker } 333*d5c09012SAndroid Build Coastguard Worker 334*d5c09012SAndroid Build Coastguard Worker oneof destination { 335*d5c09012SAndroid Build Coastguard Worker // Output only. Where the Google Docs transcript is saved. 336*d5c09012SAndroid Build Coastguard Worker DocsDestination docs_destination = 6 337*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 338*d5c09012SAndroid Build Coastguard Worker } 339*d5c09012SAndroid Build Coastguard Worker 340*d5c09012SAndroid Build Coastguard Worker // Output only. Resource name of the transcript. 341*d5c09012SAndroid Build Coastguard Worker // Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`, 342*d5c09012SAndroid Build Coastguard Worker // where `{transcript}` is a 1:1 mapping to each unique transcription session 343*d5c09012SAndroid Build Coastguard Worker // of the conference. 344*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 345*d5c09012SAndroid Build Coastguard Worker 346*d5c09012SAndroid Build Coastguard Worker // Output only. Current state. 347*d5c09012SAndroid Build Coastguard Worker State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 348*d5c09012SAndroid Build Coastguard Worker 349*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the transcript started. 350*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 4 351*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 352*d5c09012SAndroid Build Coastguard Worker 353*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the transcript stopped. 354*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 5 355*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 356*d5c09012SAndroid Build Coastguard Worker} 357*d5c09012SAndroid Build Coastguard Worker 358*d5c09012SAndroid Build Coastguard Worker// Google Docs location where the transcript file is saved. 359*d5c09012SAndroid Build Coastguard Workermessage DocsDestination { 360*d5c09012SAndroid Build Coastguard Worker // Output only. The document ID for the underlying Google Docs transcript 361*d5c09012SAndroid Build Coastguard Worker // file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use the 362*d5c09012SAndroid Build Coastguard Worker // `documents.get` method of the Google Docs API 363*d5c09012SAndroid Build Coastguard Worker // (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to 364*d5c09012SAndroid Build Coastguard Worker // fetch the content. 365*d5c09012SAndroid Build Coastguard Worker string document = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 366*d5c09012SAndroid Build Coastguard Worker 367*d5c09012SAndroid Build Coastguard Worker // Output only. URI for the Google Docs transcript file. Use 368*d5c09012SAndroid Build Coastguard Worker // `https://docs.google.com/document/d/{$DocumentId}/view` to browse the 369*d5c09012SAndroid Build Coastguard Worker // transcript in the browser. 370*d5c09012SAndroid Build Coastguard Worker string export_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 371*d5c09012SAndroid Build Coastguard Worker} 372*d5c09012SAndroid Build Coastguard Worker 373*d5c09012SAndroid Build Coastguard Worker// Single entry for one user’s speech during a transcript session. 374*d5c09012SAndroid Build Coastguard Workermessage TranscriptEntry { 375*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 376*d5c09012SAndroid Build Coastguard Worker type: "meet.googleapis.com/TranscriptEntry" 377*d5c09012SAndroid Build Coastguard Worker pattern: "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}" 378*d5c09012SAndroid Build Coastguard Worker plural: "transcriptEntries" 379*d5c09012SAndroid Build Coastguard Worker singular: "transcriptEntry" 380*d5c09012SAndroid Build Coastguard Worker }; 381*d5c09012SAndroid Build Coastguard Worker 382*d5c09012SAndroid Build Coastguard Worker // Output only. Resource name of the entry. Format: 383*d5c09012SAndroid Build Coastguard Worker // "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}" 384*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 385*d5c09012SAndroid Build Coastguard Worker 386*d5c09012SAndroid Build Coastguard Worker // Output only. Refers to the participant who speaks. 387*d5c09012SAndroid Build Coastguard Worker string participant = 2 [ 388*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 389*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 390*d5c09012SAndroid Build Coastguard Worker type: "meet.googleapis.com/Participant" 391*d5c09012SAndroid Build Coastguard Worker } 392*d5c09012SAndroid Build Coastguard Worker ]; 393*d5c09012SAndroid Build Coastguard Worker 394*d5c09012SAndroid Build Coastguard Worker // Output only. The transcribed text of the participant's voice, at maximum 395*d5c09012SAndroid Build Coastguard Worker // 10K words. Note that the limit is subject to change. 396*d5c09012SAndroid Build Coastguard Worker string text = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 397*d5c09012SAndroid Build Coastguard Worker 398*d5c09012SAndroid Build Coastguard Worker // Output only. Language of spoken text, such as "en-US". 399*d5c09012SAndroid Build Coastguard Worker // IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47) 400*d5c09012SAndroid Build Coastguard Worker string language_code = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 401*d5c09012SAndroid Build Coastguard Worker 402*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the transcript entry started. 403*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 5 404*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 405*d5c09012SAndroid Build Coastguard Worker 406*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp when the transcript entry ended. 407*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 6 408*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 409*d5c09012SAndroid Build Coastguard Worker} 410