會議空間代表虛擬地點或持續存在的物件 (例如會議室),可供舉辦會議。會議空間也能協助使用者開會及尋找共用資源。
使用 spaces.create 方法建立會議空間時,系統會傳回 spaces 資源的執行個體。資源包含 SpaceConfig 物件,這是會議空間的設定。其中也包含 ActiveConference 物件,該物件是會議空間中目前 conferenceRecords 資源的連結。如要進一步瞭解如何管理會議空間,請參閱「管理會議空間」。
以下各節詳細說明如何使用這些物件和方法設定會議空間。
設定管理和會議存取權
您可以透過 SpaceConfig 物件,設定使用者加入會議的方式、控管模式、功能限制,以及使用者加入會議時獲得的權限。
存取會議空間
如要決定哪些人不必提出要求就能加入會議空間,請使用 AccessType 物件設定 accessType 欄位。您可以選擇多種設定,決定是否要自動允許與會者加入會議。這個欄位預設為使用者的預設存取權設定。
如要定義可用於加入會議空間主辦會議的進入點,請使用 EntryPointAccess 物件設定 entryPointAccess 欄位。設為 ALL 可允許所有進入點,設為 CREATOR_APP_ONLY 則可將進入點範圍限制為僅限由建立會議空間的 Google 雲端專案所擁有。
下列程式碼範例說明如何設定會議空間的存取權設定:
Java
import com.google.apps.meet.v2.Space;
import com.google.apps.meet.v2.SpaceConfig;
import com.google.apps.meet.v2.SpacesServiceClient;
import com.google.apps.meet.v2.UpdateSpaceRequest;
import com.google.protobuf.FieldMask;
public class ConfigureSpaceAccess {
public static void main(String[] args) throws Exception {
try (SpacesServiceClient client = SpacesServiceClient.create()) {
Space space =
Space.newBuilder()
.setName("spaces/SPACE_NAME")
.setConfig(
SpaceConfig.newBuilder()
.setAccessType(SpaceConfig.AccessType.RESTRICTED)
.setEntryPointAccess(SpaceConfig.EntryPointAccess.ALL)
.build())
.build();
FieldMask updateMask =
FieldMask.newBuilder()
.addPaths("config.access_type")
.addPaths("config.entry_point_access")
.build();
UpdateSpaceRequest request =
UpdateSpaceRequest.newBuilder()
.setSpace(space)
.setUpdateMask(updateMask)
.build();
Space response = client.updateSpace(request);
System.out.println("Updated space: " + response.getName());
}
}
}
Node.js
const {SpacesServiceClient} = require('@google-apps/meet').v2;
async function configureSpaceAccess(spaceName) {
const meetClient = new SpacesServiceClient();
const [response] = await meetClient.updateSpace({
space: {
name: spaceName,
config: {
accessType: 'RESTRICTED',
entryPointAccess: 'ALL',
},
},
updateMask: {
paths: ['config.access_type', 'config.entry_point_access'],
},
});
console.log(`Updated space: ${response.name}`);
return response;
}
Python
from google.apps import meet_v2
from google.protobuf import field_mask_pb2
def configure_space_access(space_name):
client = meet_v2.SpacesServiceClient()
space = meet_v2.Space(
name=space_name,
config=meet_v2.SpaceConfig(
access_type=meet_v2.SpaceConfig.AccessType.RESTRICTED,
entry_point_access=meet_v2.SpaceConfig.EntryPointAccess.ALL,
),
)
update_mask = field_mask_pb2.FieldMask(
paths=["config.access_type", "config.entry_point_access"]
)
request = meet_v2.UpdateSpaceRequest(
space=space,
update_mask=update_mask
)
response = client.update_space(request=request)
print(f"Updated space: {response.name}")
return response
Apps Script
function configureSpaceAccess(spaceName) {
const baseUrl = 'https://meet.googleapis.com/v2/';
const mask = 'updateMask=config.accessType,config.entryPointAccess';
const response = UrlFetchApp.fetch(`${baseUrl}${spaceName}?${mask}`, {
method: 'patch',
contentType: 'application/json',
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
},
payload: JSON.stringify({
config: {
accessType: 'RESTRICTED',
entryPointAccess: 'ALL',
},
}),
});
const space = JSON.parse(response.getContentText());
Logger.log('Updated space: ' + space.name);
return space;
}
cURL
curl -X PATCH \
"https://meet.googleapis.com/v2/spaces/SPACE_NAME?updateMask=config.accessType,config.entryPointAccess" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"config": {
"accessType": "RESTRICTED",
"entryPointAccess": "ALL"
}
}'
將 ACCESS_TOKEN 替換成可授權存取 API 的存取權杖。
將空間名稱值替換為會議空間的專屬伺服器產生 ID。
控管會議空間
如要控管會議,可以使用 Moderation 物件設定 moderation 欄位。如果 moderation 模式為 on,會議發起人可以透過共同主辦人管理 (請參閱spaces.members) 和使用 moderationRestrictions 欄位限制功能等方式,控管會議。如要進一步瞭解成員,請參閱「管理會議空間成員」。
如要在會議受到控管時 (moderation 為 on) 定義功能限制,請使用 ModerationRestrictions 物件設定 moderationRestrictions 欄位。限制條件會定義會議空間中哪些人有權傳送即時通訊訊息或回應,或是分享螢幕畫面。
如要設定 moderationRestrictions 欄位的限制,請使用 RestrictionType 套用 chatRestriction、reactionRestriction 和 presentRestriction。設為 HOSTS_ONLY 可將權限套用至會議發起人和共同主辦人,設為 NO_RESTRICTION 則可套用至所有出席者。
如要將指派給使用者的預設角色限制為檢視者,請使用 DefaultJoinAsViewerType 設定 defaultJoinAsViewerType 欄位。如果 defaultJoinAsViewerType 為 on,使用者會以檢視者身分加入。如果off,使用者會以貢獻者身分加入。預設值為 off。如果使用者在 spaces.members 中設定了明確的角色,使用者加入時就會擔任該角色。
產生出席狀況報告
如要為會議空間建立出席狀況報告,請使用 AttendanceReportGenerationType 物件設定 attendanceReportGenerationType 欄位。如果要求產生報表,Google Meet 會將出席狀況報告儲存至會議發起人的 Google 雲端硬碟,並傳送電子郵件。
管理自動構件
會議發起人 (而非共同主辦人) 可以在會議空間中預先設定自動錄製、自動轉錄和智慧筆記。啟用這些設定後,系統會自動錄製會議、生成轉錄稿,並擷取會議記錄,整理至 Google 文件。每項功能都是獨立運作,且會根據會議空間設定。 錄音內容的字幕僅支援英文。
您可以在建立會議空間時預先設定自動構件,也可以在建立會議空間後設定。這兩種方法都需要 meetings.space.settings OAuth 範圍。詳情請參閱「OAuth 範圍 (依用途區分)」。
此外,您也可以為透過 Google 日曆建立的會議設定自動生成內容。
如要設定自動構件,請使用 SpaceConfig 物件中的 ArtifactConfig 物件。ArtifactConfig 由 recordingConfig、transcriptionConfig 和 smartNotesConfig 欄位組成。
每個欄位都會對應到類似的物件,例如 RecordingConfig、TranscriptionConfig 和 SmartNotesConfig。如要設定每個物件,請使用 AutoGenerationType 切換設定物件 on 或 off。
如要擷取會議期間建立的構件,請參閱「使用構件」。
轉錄稿和智慧筆記的差異
會議轉錄稿和智慧筆記 (又稱「幫我做筆記」) 都會擷取會議資訊,但這兩項功能用途不同,產出的內容也不一樣。
下表列出兩者的差異:
| 功能 | 轉錄稿 | 智慧紀錄 |
|---|---|---|
| 總覽 | 逐字逐句記錄。 | Gemini 生成的重點摘要。 |
| 詳細程度 | 100% 呈現細節。系統會記錄所有對話內容。 | 高層級。著重於決策和待辦事項。 |
| 用途 | 法律遵循、檢查確切引文和使用者無障礙功能。 | 讓遲到的參與者立即掌握會議內容;自動記錄會議內容和追蹤專案進度。 |
| 即時用量 | 用於字幕。通話結束後,系統就會產生檔案。 | 通話期間,你可以在側邊面板查看摘要。 |
| 輸出內容 | 包含發言者姓名和時間戳記的長篇 Google 文件。 | 會議記錄的簡要 Google 文件,包含各個部分和項目要點。 |
| 引用內容 | 包含可連結的完整文字。 | 如果同時啟用轉錄稿和智慧筆記,系統會提供引用內容 (時間戳記),連結回轉錄稿中的特定時間點,方便你瞭解當時的脈絡。詳情請參閱「同時啟用兩項功能時」。 |
同時啟用這兩項功能時
雖然可以單獨使用這兩項功能,但同時使用轉錄稿和智慧筆記,也能製作更優質的會議後續資料。
啟用這兩項功能後,生成的智慧筆記文件就會加入引用內容。這些引用內容會列在詳細資料部分,且會連結至會議轉錄稿中的特定時間戳記。點選引用內容,即可直接跳到轉錄稿中的相關部分,進一步瞭解討論事項。
會議期間,參與者會看到這兩項功能都已啟用的指標。 會議期間必須保持啟用狀態,才能產生可點選的引文。即使檔案相互連結,系統仍會在主機的雲端硬碟中產生兩個不同的文件。這兩個檔案也會自動附加到日曆活動中。
如要進一步瞭解會議空間和設定所需的 OAuth 範圍,請參閱「OAuth 範圍 (依用途)」。