Node.js-Kurzanleitung

In diesem Leitfaden wird beschrieben, wie Sie ein Beispiel einrichten und ausführen Google Meet-Add-on.

Zielsetzungen

  • Richten Sie das Beispiel ein.
  • Führen Sie das Beispiel aus.

Vorbereitung

Beispielanwendung einrichten

  1. Führen Sie in Ihrem Arbeitsverzeichnis den folgenden Befehl aus, um die Projekt:

     npm init
    
  2. Installieren Sie Express.js in Ihrem Arbeitsverzeichnis:

     npm install express --save
    
  3. Installieren Sie das Web SDK für Meet-Add-ons:

     npm install @googleworkspace/meet-addons --save
    
  4. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen index.js und fügen Sie den folgenden Code:

     const express = require('express');
     const path = require('path');
    
     var app = express();
     app = require("https-localhost")();
    
     app.use(express.static(path.join(__dirname, '/')));
     app.use('/', express.static(__dirname + '/node_modules/@googleworkspace/meet-addons'));
    
     app.get('/sidepanel', function(req, res){
       res.render(path.join(__dirname, 'sidepanel.html'));
     });
    
     app.get('/mainstage', function(req, res){
       res.render(path.join(__dirname, 'mainstage.html'));
     });
    
     app.listen(3000);
    
  5. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen mainstage.html und fügen Sie den folgenden Code:

     <html style="width: 100%; height: 100%">
    
     <head>
         <title>Main Stage Add On</title>
         <script src="meet.addons.js"></script>
     </head>
    
     <body style="width: 100%; height: 100%; margin: 0; background: white;">
         <div style="display: flex; flex-direction: column; height: 100%">
             <h1>Main Stage Add-on</h1>
             <div>
                 <div>
                     <button id="get-collaboration-starting-state">
                         getCollaborationStartingState
                     </button>
                 </div>
                 <div id="receivedCollaborationStartingState"
                     style="margin-left: 20px; width: 300px; overflow-wrap: anywhere"></div>
             </div>
         </div>
    
         <script>
             let mainStageClient;
             async function init() {
                 const session = await window.meet.addon.createAddonSession({
                     cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
                 });
                 console.log("Successfully constructed the add-on session.");
                 const mainStageClient = await session.createMainStageClient();
                 console.log("Successfully constructed main stage client.");
                 document
                     .getElementById('get-collaboration-starting-state')
                     .addEventListener(
                         'click', async () => {
                             document.getElementById(
                                 'receivedCollaborationStartingState').textContent =
                                 JSON.stringify(
                                     await mainStageClient.getCollaborationStartingState());
                         });
             }
             document.body.onload = () => {
                 init();
             };
         </script>
     </body>
    
     </html>
    
  6. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen sidepanel.html und fügen Sie den folgenden Code:

     <html style="width: 100%; height: 100%">
    
     <head>
         <title>Side Panel Add-on</title>
         <script src="meet.addons.js"></script>
     </head>
    
     <body style="width: 100%; height: 100%; margin: 0">
         <div style="display: flex; flex-direction: column; height: 100%">
             <h1>Side Panel Add-on</h1>
             <div>
                 <div>
                     <button id="set-collaboration-starting-state">
                         setCollaborationStartingState
                     </button>
                 </div>
                 <div>
                     <input type="text" id="sidePanelIframeUrl" style="margin-left: 20px"
                         value="https://localhost:3000/sidepanel.html" />
                 </div>
                 <div>
                     <input type="text" id="mainStageIframeUrl" style="margin-left: 20px"
                         value="https://localhost:3000/mainstage.html" />
                 </div>
                 <div>
                     <input type="text" id="additionalData" style="margin-left: 20px" value="additional data" />
                 </div>
             </div>
         </div>
    
         <script>
             let sidePanelClient;
             async function init() {
                 const session = await window.meet.addon.createAddonSession({
                     cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
                 });
                 console.log("Successfully constructed the add-on session.");
                 sidePanelClient = await session.createSidePanelClient();
                 console.log("Successfully constructed side panel client.");
    
                 document
                     .getElementById('set-collaboration-starting-state')
                     .addEventListener(
                         'click', async () => {
                             const sidePanelIframeUrlInputElement =
                                 document.getElementById('sidePanelIframeUrl');
                             const mainStageIframeUrlInputElement =
                                 document.getElementById('mainStageIframeUrl');
                             const additionalDataInputElement =
                                 document.getElementById('additionalData');
                             await sidePanelClient.setCollaborationStartingState({
                                 sidePanelUrl: sidePanelIframeUrlInputElement.value,
                                 mainStageUrl: mainStageIframeUrlInputElement.value,
                                 additionalData: additionalDataInputElement.value,
                             });
                         });
             }
             document.body.onload = () => {
                 init();
             };
         </script>
    
     </body>
    
     </html>
    
  7. Ersetzen Sie sowohl für die Dateien mainstage.html als auch für sidepanel.html Folgendes:

    • CLOUD_PROJECT_NUMBER: Die Projektnummer Ihres Google Cloud-Projekt
  8. Installieren Sie https-localhost in Ihrem Arbeitsverzeichnis. Paket:

     npm install https-localhost --save
    
  9. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

     node index.js
    
  10. Rufen Sie in Ihrem Browser https://localhost:3000/mainstage.html auf und https://localhost:3000/sidepanel.html, um die Webseiten zu bestätigen.

Meet-Add-on erstellen

Richten Sie die Bereitstellung des Add-ons ein, indem Sie der Anleitung zum Erstellen eines Meet-Add-ons

Beispiel ausführen

  1. Öffnen Sie Meet.

  2. Klicken Sie auf Aktivitäten Das Symbol für Aktivitäten..

  3. Im Abschnitt Meine Add-ons sollten Sie Folgendes sehen: Google Meet Add-ons Quickstart Wählen Sie sie aus, um den Add-on.