הגדרת המרחב לפגישה

חלל לקיום פגישות מייצג מקום וירטואלי או אובייקט קבוע (כמו חדר ישיבות) שבו מתקיימות פגישות. בנוסף, מרחב הפגישות מאפשר למשתמשים להיפגש ולמצוא משאבים משותפים.

כשיוצרים מרחב פגישות באמצעות ה-method‏ spaces.create, מוחזר מופע של משאב spaces. המשאב כולל את האובייקט SpaceConfig שהוא ההגדרה של מתחם הפגישות. הוא מכיל גם את האובייקט ActiveConference שהוא קישור למשאב conferenceRecords הנוכחי במרחב הפגישה. מידע נוסף על ניהול מרחב פגישות זמין במאמר ניהול מרחבי פגישות.

בסעיפים הבאים מוסבר איך להגדיר מרחב לפגישות באמצעות האובייקטים והשיטות האלה.

הגדרת ניהול הפגישה והגישה אליה

אפשר להגדיר איך משתמשים מצטרפים לפגישה, את מצבי הניהול, את ההגבלות על התכונות ואת ההרשאות שהמשתמשים מקבלים כשהם מצטרפים לפגישה, באמצעות האובייקט SpaceConfig.

הגדרת הגישה לפגישה

כדי לקבוע מי יכול להצטרף למרחב בלי לשלוח בקשת הצטרפות, צריך להגדיר את השדה accessType באמצעות האובייקט AccessType. אתם יכולים לבחור מתוך כמה הגדרות אם לאפשר למשתתפים להצטרף באופן אוטומטי. ברירת המחדל של השדה היא הגדרות הגישה שמוגדרות כברירת מחדל למשתמש.

כדי להגדיר את נקודות הכניסה שאפשר להשתמש בהן כדי להצטרף לפגישות שמתארחות במרחב פגישות, צריך להגדיר את השדה entryPointAccess באמצעות האובייקט EntryPointAccess. הערך ALL מאפשר גישה לכל נקודות הכניסה, והערך CREATOR_APP_ONLY מגביל את נקודות הכניסה רק לאלה שבבעלות פרויקט בענן ב-Google Cloud שיצר את המרחב לפגישות.

בדוגמת הקוד הבאה אפשר לראות איך מגדירים את הגדרות הגישה למרחב פגישות:

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.

מחליפים את שם המרחב במזהה הייחודי שנוצר על ידי השרת עבור מרחב הפגישה.

הגדרת הגדרות ניהול התגובות

כדי להפעיל ניהול של הפגישה, אפשר להגדיר את השדה 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 Drive בחשבון של מארגן/ת הפגישה, ונשלח גם אימייל.

ניהול פריטי מידע שנוצרו בתהליך פיתוח (Artifact) באופן אוטומטי

מארגני הפגישות, אבל לא המארחים הנוספים, יכולים להגדיר מראש הקלטה אוטומטית, תמלילים אוטומטיים וסיכום חכם של הפגישה. כשההגדרות האלה מופעלות, המרחב של הפגישה מוקלט, נוצרים תמלילים וסיכום הפגישה מתועד ומאורגן באופן אוטומטי ב-Google Docs. כל תכונה היא עצמאית ומוגדרת לכל חדר ישיבות. הכתוביות בהקלטה זמינות רק באנגלית.

אפשר להגדיר מראש את הפריטים האוטומטיים שנוצרים כשיוצרים מרחב לפגישה או אחרי שיוצרים את המרחב. שתי השיטות מחייבות את היקף ההרשאות של OAuth‏ meetings.space.settings. מידע נוסף זמין במאמר היקפי הרשאות של OAuth לפי תרחיש שימוש.

אפשר גם להגדיר יצירה אוטומטית של מסמכים לפגישות שנוצרו מיומן Google.

כדי להגדיר פריטי מידע אוטומטיים, משתמשים באובייקט ArtifactConfig בתוך האובייקט SpaceConfig. השדה ArtifactConfig מורכב מהשדות recordingConfig,‏ transcriptionConfig ו-smartNotesConfig.

כל שדה ממופה לאובייקט דומה, כמו RecordingConfig,‏ TranscriptionConfig ו-SmartNotesConfig. כדי להגדיר כל אובייקט, משתמשים ב-AutoGenerationType כדי להפעיל או להשבית את אובייקט ההגדרה on או off.

כדי לאחזר את הפריטים שנוצרו במהלך הוועידה, אפשר לעיין במאמר בנושא עבודה עם פריטים.

ההבדלים בין תמלילים לבין סיכומים חכמים

גם תמלילי פגישות וגם סיכום חכם (שנקרא גם "סיכום הפגישה בשבילי") מתעדים מידע מהפגישה, אבל התכונות האלה משמשות למטרות שונות ומפיקות תוצרים שונים.

בטבלה הבאה אפשר לראות את ההבדלים ביניהם:

תכונה תמלילים סיכום חכם
סקירה כללית תיעוד מילה במילה. סיכום תמציתי של הנקודות העיקריות שנוצר על ידי Gemini.
רמת הפירוט 100% פרטים. כל מה שנאמר נכתב. ברמה גבוהה. מתמקד בהחלטות ובפעולות לביצוע.
תרחיש לדוגמה עמידה בהוראות הדין, בדיקת ציטוטים מדויקים ונגישות למשתמשים. מאפשר למשתתפים שהצטרפו באיחור להתעדכן באופן מיידי, ומבצע אוטומציה של סיכום הפגישה ומעקב אחרי הפרויקט.
נתוני שימוש בזמן אמת משמש לכתוביות. הקובץ נוצר אחרי השיחה. במהלך השיחה, אפשר לראות את סיכום השיחה בחלונית הצדדית.
פלט מסמך ארוך ב-Docs עם שם הדובר וחותמות זמן. מסמך תמציתי ב-Docs עם סיכום הפגישה, מחולק לקטעים עם נקודות חשובות.
ציטוט מכיל את הטקסט המלא שאפשר לקשר אליו. אם גם התמלול וגם הסיכום החכם מופעלים, הסיכום כולל ציטוטים (חותמות זמן) שמפנים לרגע הספציפי בתמליל כדי לספק הקשר. מידע נוסף זמין במאמר בנושא מתי שתי התכונות מופעלות.

כאשר שתי התכונות מופעלות

אפשר להשתמש בכל אחת מהתכונות בנפרד, אבל אפשר גם להשתמש בתמלילים ובסיכומים חכמים בו-זמנית כדי ליצור מסמכים טובים יותר אחרי הפגישה.

כשהתכונות האלה מופעלות, במסמך הסיכום החכם שייווצר יופיעו ציטוטים מהפגישה. הציטוטים מופיעים בחלק של הפרטים, עם הפניות לחותמות זמן ספציפיות בתמליל של הפגישה. אתם יכולים ללחוץ על הציטוטים כדי לעבור ישירות לחלק הרלוונטי בתמליל ולהבין טוב יותר את ההקשר.

במהלך הפגישה, המשתתפים רואים אינדיקטורים שמציינים ששתי התכונות פעילות. הם צריכים להישאר פעילים במהלך הפגישה כדי ליצור ציטוטים שאפשר ללחוץ עליהם. למרות שהקבצים מקושרים ביניהם, המערכת עדיין יוצרת שני מסמכים נפרדים ב-Drive של המארח. שני הקבצים מצורפים אוטומטית גם לאירוע ביומן.

למידע נוסף על היקפי ההרשאות של OAuth שנדרשים למרחבים ולהגדרות של פגישות, אפשר לעיין במאמר היקפי הרשאות של OAuth לפי תרחיש שימוש.