Mengamati acara rapat dengan Python dan REST API Google Meet

Tutorial ini menunjukkan cara menggunakan Google Meet REST API bersama dengan Google Workspace Events API dan Google Cloud Pub/Sub untuk mengamati dan bereaksi terhadap peristiwa di ruang rapat Meet. Aplikasi contoh mencatat kapan konferensi dimulai dan berakhir, saat peserta bergabung atau keluar, dan saat artefak rapat yang dihasilkan tersedia.

Daripada berlangganan ruang rapat tertentu, Anda dapat berlangganan pengguna Meet untuk menerima acara untuk ruang rapat apa pun yang dimiliki atau diselenggarakan pengguna. Untuk mengetahui detailnya, lihat Berlangganan acara Google Meet dalam dokumentasi Google Workspace Events API.

Prasyarat

Jika Anda perlu mengaktifkan salah satu prasyarat ini untuk organisasi Anda, minta administrator Google Workspace untuk mengaktifkannya:

Menyiapkan lingkungan Anda

Bagian ini menunjukkan cara membuat dan mengonfigurasi lingkungan lokal dan project Google Cloud untuk tutorial ini.

Membuat direktori kerja dan lingkungan virtual Python

Untuk membuat dan mengaktifkan lingkungan virtual baru, jalankan perintah berikut di terminal Anda.

Linux/macOS

mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
source env/bin/activate

Windows (command prompt)

mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
env/bin/activate.bat

Windows (PowerShell)

mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
env/bin/activate.ps1

Membuat project Google Cloud

Konsol Google Cloud

  1. Di konsol Google Cloud, buka Menu > IAM & Admin > Create a Project.

    Buka Membuat Project

  2. Di kolom Project Name, masukkan nama deskriptif untuk project Anda.

    Opsional: Untuk mengedit Project ID, klik Edit. Project ID tidak dapat diubah setelah project dibuat, jadi pilih ID yang sesuai dengan kebutuhan Anda sepanjang waktu project tersebut.

  3. Di kolom Location, klik Browse untuk menampilkan lokasi potensial untuk project Anda. Kemudian, klik Select.
  4. Klik Buat. Konsol Google Cloud akan membuka halaman Dasbor dan project Anda akan dibuat dalam beberapa menit.

gcloud CLI

Di salah satu lingkungan pengembangan berikut, akses Google Cloud CLI (gcloud):

  • Cloud Shell: Untuk menggunakan terminal online dengan gcloud CLI yang sudah disiapkan, aktifkan Cloud Shell.
    Aktifkan Cloud Shell
  • Shell Lokal: Untuk menggunakan lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI.
    Untuk membuat project Cloud, gunakan perintah gcloud projects create:
    gcloud projects create PROJECT_ID
    Ganti PROJECT_ID dengan menetapkan ID untuk project yang ingin Anda buat.

Mengaktifkan penagihan untuk project Google Cloud

Konsol Google Cloud

  1. Di konsol Google Cloud, buka Penagihan. Klik Menu > Penagihan > Project Saya.

    Buka Penagihan untuk Project Saya

  2. Di Pilih organisasi, pilih organisasi yang terkait dengan project Google Cloud Anda.
  3. Di baris project, buka menu Actions (), klik Change billing, lalu pilih akun Penagihan Cloud.
  4. Klik Tetapkan akun.

gcloud CLI

  1. Untuk mencantumkan akun penagihan yang tersedia, jalankan:
    gcloud billing accounts list
  2. Menautkan akun penagihan dengan project Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Ganti kode berikut:

    • PROJECT_ID adalah Project ID untuk project Cloud yang penagihannya ingin Anda aktifkan.
    • BILLING_ACCOUNT_ID adalah ID akun penagihan yang akan ditautkan dengan project Google Cloud.

Menyiapkan autentikasi dan otorisasi

Autentikasi dan otorisasi memungkinkan aplikasi mengakses resource Meet REST API. Otorisasi pengguna diperlukan untuk memanggil Meet REST API. Bagian ini menunjukkan cara mengonfigurasi kredensial pengguna dan meminta otorisasi.

Mengonfigurasi layar izin OAuth dan memilih cakupan

Langkah-langkah berikut menyarankan informasi placeholder untuk mengonfigurasi layar izin OAuth untuk aplikasi Anda. Sebelum memublikasikan aplikasi secara eksternal, perbarui informasi ini.

  1. Di konsol Google Cloud, buka Menu > APIs & Services > OAuth consent screen.

    Buka layar izin OAuth

  2. Di bagian Jenis pengguna, pilih Internal, lalu klik Buat.
  3. Di App name, masukkan Meet REST API Tutorial.
  4. Isi formulir pendaftaran aplikasi, lalu klik Simpan dan Lanjutkan.
  5. Klik Add or Remove Scopes. Panel akan muncul dengan daftar cakupan untuk setiap API yang telah Anda aktifkan di project Google Cloud.
  6. Di bagian Tambahkan cakupan secara manual, tempel cakupan berikut:
    • https://www.googleapis.com/auth/meetings.space.created
  7. Klik Tambahkan ke Tabel.
  8. Klik Perbarui.
  9. Setelah memilih cakupan yang diperlukan oleh aplikasi Anda, klik Simpan dan Lanjutkan.
  10. Jika Anda memilih Eksternal untuk jenis pengguna, tambahkan pengguna pengujian:
    1. Di bagian Pengguna pengujian, klik Tambahkan pengguna.
    2. Masukkan alamat email Anda dan pengguna pengujian resmi lainnya, lalu klik Simpan dan Lanjutkan.
  11. Tinjau ringkasan pendaftaran aplikasi Anda. Untuk melakukan perubahan, klik Edit. Jika pendaftaran aplikasi terlihat OK, klik Kembali ke Dasbor.

Membuat client ID

Client ID berfungsi sebagai kredensial untuk aplikasi Anda selama alur OAuth 2.0. Karena aplikasi berjalan secara lokal, buat client ID desktop.

  1. Di konsol Google Cloud, buka Menu > APIs & Services > Credentials.

    Buka Kredensial

  2. Klik Create Credentials > OAuth client ID.
  3. Klik Jenis aplikasi > Aplikasi desktop.
  4. Di kolom Name, ketik nama untuk kredensial. Nama ini hanya ditampilkan di konsol Google Cloud.
  5. Klik Buat. Layar yang dibuat klien OAuth akan muncul, yang menampilkan Client ID dan Rahasia klien baru Anda.
  6. Klik Oke. Kredensial yang baru dibuat akan muncul di bagian Client ID OAuth 2.0.

Menginstal library autentikasi Google

Instal library autentikasi Google:

pip install google-auth google-auth-oauthlib

Menjalankan otorisasi

Meet REST API memerlukan kredensial pengguna dalam bentuk token akses OAuth 2.0. Di bagian ini, Anda akan menerapkan alur OAuth 2.0 untuk meminta token akses dan token refresh bagi pengguna.

  1. Di direktori kerja Anda, buat file main.py dan tambahkan konten berikut:

    import os
    import json
    
    from google.auth.transport import requests
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    
    def authorize() -> Credentials:
        """Ensure valid credentials for calling the Meet REST API."""
        CLIENT_SECRET_FILE = "./client_secret.json"
        credentials = None
    
        if os.path.exists('token.json'):
            credentials = Credentials.from_authorized_user_file('token.json')
    
        if credentials is None:
            flow = InstalledAppFlow.from_client_secrets_file(
                CLIENT_SECRET_FILE,
                scopes=[
                    'https://www.googleapis.com/auth/meetings.space.created',
                ])
            flow.run_local_server(port=0)
            credentials = flow.credentials
    
        if credentials and credentials.expired:
            credentials.refresh(requests.Request())
    
        if credentials is not None:
            with open("token.json", "w") as f:
                f.write(credentials.to_json())
    
        return credentials
    
    USER_CREDENTIALS = authorize()
    
  2. Untuk menjalankan kode, client ID dan secret yang dibuat sebelumnya diperlukan. Salin file secret klien yang didownload ke direktori kerja project dan ganti namanya menjadi client_secret.json.

  3. Jika Anda ingin menguji cara kerja otorisasi, jalankan perintah berikut. Aplikasi meminta otorisasi dan membuat file token.json di direktori kerja project setelah permintaan disetujui.

    python3 main.py

Menambahkan Meet REST API

Setelah kode otorisasi selesai, kini saatnya mengaktifkan dan memanggil Meet REST API.

Mengaktifkan API

Meskipun bagian ini berfokus pada Meet REST API, tutorial ini juga menggunakan Google Cloud Pub/Sub dan Google Workspace Events API.

Konsol Google Cloud

  1. Di konsol Google Cloud, aktifkan Google Meet REST API, Google Workspace Events API, dan Google Cloud Pub/Sub.

    Aktifkan API

  2. Pastikan Anda mengaktifkan API di project Cloud yang benar, lalu klik Berikutnya.

  3. Pastikan Anda mengaktifkan API yang benar, lalu klik Enable.

gcloud CLI

  1. Jika perlu, tetapkan project Cloud saat ini ke project yang Anda buat dengan perintah gcloud config set project:

    gcloud config set project PROJECT_ID

    Ganti PROJECT_ID dengan Project ID dari project Cloud yang Anda buat.

  2. Aktifkan Google Meet REST API, Google Workspace Events API, dan Google Cloud Pub/Sub dengan perintah gcloud services enable:

    gcloud services enable meet.googleapis.com workspaceevents.googleapis.com pubsub.googleapis.com

Menginstal library klien Meet REST API

Ikuti langkah-langkah berikut untuk menginstal library klien Meet REST API:

  1. Jalankan perintah:

    pip install google-apps-meet
  2. Edit file main.py untuk mengimpor klien:

    from google.apps import meet_v2 as meet
    

Membuat ruang

Setelah Meet REST API tersedia, tentukan fungsi untuk membuat ruang rapat yang dapat dibeli langganannya.

Edit main.py dan tambahkan:

def create_space() -> meet.Space:
    """Create a meeting space."""
    client = meet.SpacesServiceClient(credentials=USER_CREDENTIALS)
    request = meet.CreateSpaceRequest()
    return client.create_space(request=request)

Berlangganan peristiwa

Untuk menerima peristiwa tentang ruang rapat, Anda membuat langganan menggunakan Google Workspace Events API. Anda juga harus membuat dan berlangganan topik Google Cloud Pub/Sub yang berfungsi sebagai endpoint notifikasi tempat aplikasi Anda menerima peristiwa.

Mengonfigurasi Google Cloud Pub/Sub

Untuk membuat dan berlangganan topik Pub/Sub:

Konsol Google Cloud

  1. Di konsol Google Cloud, buka Menu > Pub/Sub.

    Buka Pub/Sub

    Pastikan project Cloud untuk aplikasi Anda dipilih.

  2. Klik Create topic dan lakukan tindakan berikut:
    1. Masukkan workspace-events sebagai nama topik.
    2. Biarkan Tambahkan langganan default dipilih.
    3. Klik Buat. Nama topik lengkap Anda diformat sebagai projects/{project}/topics/{topic}. Catat nama ini untuk digunakan di langkah berikutnya.
  3. Berikan akses untuk memublikasikan pesan Pub/Sub ke topik Anda:
    1. Di panel samping, buka tab Izin.
    2. Klik Add Principal.
    3. Di New principals, masukkan meet-api-event-push@system.gserviceaccount.com.
    4. Di Tetapkan peran, pilih Pub/Sub Publisher.
    5. Klik Simpan.

    Diperlukan waktu beberapa menit untuk memperbarui izin topik Anda.

gcloud CLI

  1. Di project Cloud Anda, buat topik dengan menjalankan perintah berikut:
    gcloud pubsub topics create workspace-events

    Output menampilkan nama topik lengkap, yang diformat sebagai projects/{project}/topics/{topic}. Catat nama ini untuk digunakan di langkah berikutnya.

  2. Berikan akses untuk memublikasikan pesan ke topik Anda:
     gcloud pubsub topics add-iam-policy-binding workspace-events --member='serviceAccount:meet-api-event-push@system.gserviceaccount.com' --role='roles/pubsub.publisher'

    Diperlukan waktu beberapa menit untuk memperbarui izin topik Anda.

  3. Buat langganan Pub/Sub untuk topik:
    gcloud pubsub subscriptions create workspace-events-sub --topic=TOPIC_NAME

    Ganti kode berikut:

    • TOPIC_NAME: Nama topik yang Anda buat di langkah sebelumnya.

Catat nama topik dan pastikan nilai untuk {project} adalah ID project Cloud untuk aplikasi Anda. Anda akan menggunakan nama topik untuk membuat langganan Google Workspace nanti.

Membuat akun layanan

Konsol Google Cloud

  1. Di konsol Google Cloud, buka Menu > IAM & Admin > Service Accounts.

    Buka Akun Layanan

  2. Klik Create service account.
  3. Isi detail akun layanan, lalu klik Buat dan lanjutkan.
  4. Opsional: Tetapkan peran ke akun layanan untuk memberikan akses ke resource project Google Cloud Anda. Untuk mengetahui detail selengkapnya, lihat Memberikan, mengubah, dan mencabut akses ke resource.
  5. Klik Lanjutkan.
  6. Opsional: Masukkan pengguna atau grup yang dapat mengelola dan melakukan tindakan dengan akun layanan ini. Untuk mengetahui detail selengkapnya, lihat Mengelola peniruan identitas akun layanan.
  7. Klik Selesai. Catat alamat email untuk akun layanan.

gcloud CLI

  1. Buat akun layanan:
    gcloud iam service-accounts create meet-event-listener \
      --display-name="meet-event-listener"
  2. Opsional: Tetapkan peran ke akun layanan untuk memberikan akses ke resource project Google Cloud Anda. Untuk mengetahui detail selengkapnya, lihat Memberikan, mengubah, dan mencabut akses ke resource.

Menggunakan akun layanan

Setelah membuat akun layanan, beri diri Anda akses untuk meniru identitas akun layanan.

Konsol Google Cloud

  1. Di kolom Tindakan untuk akun layanan yang baru dibuat, klik > Kelola izin.
  2. Klik Tambahkan kunci > Berikan akses.
  3. Masukkan alamat email Anda di bagian Tambahkan akun utama.
  4. Pilih Akun layanan > Pembuat Token Akun Layanan sebagai peran.
  5. Klik Simpan.
  6. Kembali ke terminal dan login dengan gcloud untuk menetapkan kredensial default aplikasi ke akun layanan. Saat diminta untuk memberikan otorisasi, login menggunakan akun yang sama dengan yang digunakan pada langkah sebelumnya.
    gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL

gcloud CLI

  1. Untuk menambahkan izin, jalankan gcloud iam service-accounts add-iam-policy-binding menggunakan alamat email akun layanan dan pengguna.
    gcloud iam service-accounts add-iam-policy-binding \
      SERVICE_ACCOUNT_EMAIL \
      --member="user:YOUR_EMAIL \
      --role="roles/iam.serviceAccountTokenCreator"
  2. Login untuk menetapkan kredensial default aplikasi ke akun layanan. Saat diminta untuk memberikan otorisasi, login menggunakan akun yang sama dengan yang digunakan pada langkah sebelumnya.
    gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL

Menginstal library klien Pub/Sub

  1. Gunakan pip untuk menginstal library klien untuk Pub/Sub:

    pip install google-cloud-pubsub
  2. Kemudian, edit main.py untuk mengimpor klien:

    from google.cloud import pubsub_v1
    

Membuat langganan Google Workspace

Tambahkan kode berikut ke main.py untuk menentukan metode berlangganan peristiwa Meet. Kode ini berlangganan semua peristiwa untuk ruang rapat. Saat berlangganan, peristiwa akan diposting ke topik Pub/Sub.

def subscribe_to_space(space_name: str = None, topic_name: str = None):
    """Subscribe to events for a meeting space."""
    session = requests.AuthorizedSession(USER_CREDENTIALS)
    body = {
        'targetResource': f"//meet.googleapis.com/{space_name}",
        "eventTypes": [
            "google.workspace.meet.conference.v2.started",
            "google.workspace.meet.conference.v2.ended",
            "google.workspace.meet.participant.v2.joined",
            "google.workspace.meet.participant.v2.left",
            "google.workspace.meet.recording.v2.fileGenerated",
            "google.workspace.meet.transcript.v2.fileGenerated",
        ],
        "payloadOptions": {
            "includeResource": False,
        },
        "notificationEndpoint": {
            "pubsubTopic": topic_name
        },
        "ttl": "86400s",
    }
    response = session.post("https://workspaceevents.googleapis.com/v1/subscriptions", json=body)
    return response

Selanjutnya, tambahkan kode yang sesuai untuk mengambil dan memproses peristiwa.

Memproses dan menangani peristiwa

Lanjutkan mengedit main.py dan tambahkan kode contoh berikut. Kode ini menerapkan sisi penerima dan menggunakan Google Cloud Pub/Sub API untuk menarik peristiwa saat tersedia. Berbagai metode pengendali mencetak informasi tentang peristiwa yang sesuai.

def format_participant(participant: meet.Participant) -> str:
    """Formats a participant for display on the console."""
    if participant.anonymous_user:
        return f"{participant.anonymous_user.display_name} (Anonymous)"

    if participant.signedin_user:
        return f"{participant.signedin_user.display_name} (ID: {participant.signedin_user.user})"

    if participant.phone_user:
        return f"{participant.phone_user.display_name} (Phone)"

    return "Unknown participant"


def fetch_participant_from_session(session_name: str) -> meet.Participant:
    """Fetches the participant for a session."""
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    # Use the parent path of the session to fetch the participant details
    parsed_session_path = client.parse_participant_session_path(session_name)
    participant_resource_name = client.participant_path(
        parsed_session_path["conference_record"],
        parsed_session_path["participant"])
    return client.get_participant(name=participant_resource_name)


def on_conference_started(message: pubsub_v1.subscriber.message.Message):
    """Display information about a conference when started."""
    payload = json.loads(message.data)
    resource_name = payload.get("conferenceRecord").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    conference = client.get_conference_record(name=resource_name)
    print(f"Conference (ID {conference.name}) started at {conference.start_time.rfc3339()}")


def on_conference_ended(message: pubsub_v1.subscriber.message.Message):
    """Display information about a conference when ended."""
    payload = json.loads(message.data)
    resource_name = payload.get("conferenceRecord").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    conference = client.get_conference_record(name=resource_name)
    print(f"Conference (ID {conference.name}) ended at {conference.end_time.rfc3339()}")


def on_participant_joined(message: pubsub_v1.subscriber.message.Message):
    """Display information about a participant when they join a meeting."""
    payload = json.loads(message.data)
    resource_name = payload.get("participantSession").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    session = client.get_participant_session(name=resource_name)
    participant = fetch_participant_from_session(resource_name)
    display_name = format_participant(participant)
    print(f"{display_name} joined at {session.start_time.rfc3339()}")


def on_participant_left(message: pubsub_v1.subscriber.message.Message):
    """Display information about a participant when they leave a meeting."""
    payload = json.loads(message.data)
    resource_name = payload.get("participantSession").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    session = client.get_participant_session(name=resource_name)
    participant = fetch_participant_from_session(resource_name)
    display_name = format_participant(participant)
    print(f"{display_name} left at {session.end_time.rfc3339()}")


def on_recording_ready(message: pubsub_v1.subscriber.message.Message):
    """Display information about a recorded meeting when artifact is ready."""
    payload = json.loads(message.data)
    resource_name = payload.get("recording").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    recording = client.get_recording(name=resource_name)
    print(f"Recording available at {recording.drive_destination.export_uri}")


def on_transcript_ready(message: pubsub_v1.subscriber.message.Message):
    """Display information about a meeting transcript when artifact is ready."""
    payload = json.loads(message.data)
    resource_name = payload.get("transcript").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    transcript = client.get_transcript(name=resource_name)
    print(f"Transcript available at {transcript.docs_destination.export_uri}")


def on_message(message: pubsub_v1.subscriber.message.Message) -> None:
    """Handles an incoming event from the Google Cloud Pub/Sub API."""
    event_type = message.attributes.get("ce-type")
    handler = {
        "google.workspace.meet.conference.v2.started": on_conference_started,
        "google.workspace.meet.conference.v2.ended": on_conference_ended,
        "google.workspace.meet.participant.v2.joined": on_participant_joined,
        "google.workspace.meet.participant.v2.left": on_participant_left,
        "google.workspace.meet.recording.v2.fileGenerated": on_recording_ready,
        "google.workspace.meet.transcript.v2.fileGenerated": on_transcript_ready,
    }.get(event_type)

    try:
        if handler is not None:
            handler(message)
        message.ack()
    except Exception as error:
        print("Unable to process event")
        print(error)


def listen_for_events(subscription_name: str = None):
    """Subscribe to events on the subscription."""
    subscriber = pubsub_v1.SubscriberClient()
    with subscriber:
        future = subscriber.subscribe(subscription_name, callback=on_message)
        print("Listening for events")
        try:
            future.result()
        except KeyboardInterrupt:
            future.cancel()
    print("Done")

Menyelesaikan kode

Tambahkan kode berikut ke main.py untuk memanggil metode guna membuat ruang, berlangganan peristiwa, dan memproses. Perbarui konstanta TOPIC_NAME dan SUBSCRIPTION_NAME dengan nama topik dan langganan Anda sendiri yang sebelumnya Anda buat.

  1. Tambahkan kode ke main.py:

    space = create_space()
    print(f"Join the meeting at {space.meeting_uri}")
    
    TOPIC_NAME = "projects/PROJECT_ID/topics/TOPIC_ID"
    SUBSCRIPTION_NAME = "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID"
    
    subscription = subscribe_to_space(topic_name=TOPIC_NAME, space_name=space.name)
    listen_for_events(subscription_name=SUBSCRIPTION_NAME)
    

    Ganti kode berikut:

    • PROJECT_ID: Project ID Cloud unik untuk aplikasi Anda, seperti my-sample-project-191923.

    • TOPIC_ID: Nama topik Pub/Sub yang Anda buat di project Cloud.

    • SUBSCRIPTION_ID: Nama langganan Anda, seperti workspace-events-sub.

  2. Jalankan program:

    python3 main.py

Jika Anda belum pernah menjalankan program, program akan meminta otorisasi untuk pertama kalinya. Berikan akses ke aplikasi untuk memanggil Meet REST API. Setelah program berhasil berjalan, Anda akan melihat output yang mirip dengan:

Join the meeting at https://meet.google.com/abc-mnop-xyz

Bergabung ke konferensi

Untuk membuat peristiwa bagi aplikasi, bergabunglah ke konferensi menggunakan URL yang ditampilkan oleh aplikasi. Setelah bergabung, Anda dapat mencoba tindakan berikut untuk memicu peristiwa:

  • Keluar dan bergabung kembali ke rapat.
  • Undang orang lain atau telepon dengan ponsel Anda.
  • Aktifkan rekaman dan transkripsi.

Setiap aktivitas ini menghasilkan peristiwa yang diterima dan dicatat ke dalam log oleh aplikasi ke Konsol Google Cloud.

Gunakan ctrl-c untuk mengganggu program saat Anda selesai.

Opsional: Langkah tambahan yang dapat dicoba

Aplikasi mencatat detail dasar tentang peristiwa. Untuk terus menjelajahi Meet REST API, coba ubah aplikasi untuk melakukan tindakan tambahan ini.

  • Gunakan People API untuk mengambil informasi tambahan tentang peserta yang login.
  • Gunakan Google Drive API untuk mendownload rekaman dan transkrip.
  • Daripada mendownload transkrip dari Google Drive, ambil transkrip menggunakan metode transkrip terstruktur di Meet REST API.

Opsional: Pembersihan

Agar tidak menimbulkan biaya pada akun konsol Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, sebaiknya hapus resource dan project yang dibuat.

Untuk menghapus langganan:

Konsol

  1. Di konsol Google Cloud, buka Menu > Pub/Sub > Subscriptions

    Buka Langganan

  2. Pilih langganan, lalu klik More actions.

  3. Klik Hapus. Jendela Hapus langganan akan muncul.

  4. Klik Hapus.

gcloud CLI

  1. Hapus langganan:

    gcloud pubsub subscriptions delete SUBSCRIPTION_NAME

Untuk menghapus topik:

Konsol

  1. Di konsol Google Cloud, buka Menu > Pub/Sub > Topics

    Buka Topik

  2. Pilih topik, lalu klik Tindakan lainnya.

  3. Klik Hapus. Jendela Hapus topik akan muncul.

  4. Masukkan delete, lalu klik Hapus.

gcloud CLI

  1. Menghapus topik:

    gcloud pubsub topics delete TOPIC_NAME

Untuk menghapus project:

Konsol

  1. Di Konsol Google Cloud, buka halaman Manage resources. Klik Menu > IAM & Admin > Kelola Resource.

    Buka Resource Manager

  2. Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Hapus .
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

gcloud CLI

  1. Untuk menghapus project, gunakan perintah gcloud projects delete:

    gcloud projects delete PROJECT_ID