Freigeben über


Azure Communications Rooms Service-Clientbibliothek für Java– Version 1.0.5

Azure Communication Rooms wird für den Betrieb von Räumen verwendet.

Quellcode | Paket (Maven) | API-Referenzdokumentation | Produktdokumentation

Erste Schritte

Voraussetzungen

Einschließen des Pakets

Direkte Abhängigkeiten einfügen

Wenn Sie eine Abhängigkeit von einer bestimmten Version der Bibliothek annehmen möchten, die nicht in der BoM vorhanden ist, fügen Sie die direkte Abhängigkeit wie folgt zu Ihrem Projekt hinzu.

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-communication-rooms</artifactId>
  <version>1.0.5</version>
</dependency>

Authentifizieren des Clients

Azure Active Directory-Tokenauthentifizierung

Ein DefaultAzureCredential -Objekt muss über die RoomsClientBuilder credential()-Funktion an die übergeben werden. Endpunkt und httpClient müssen auch über die Funktionen endpoint() bzw. httpClient() festgelegt werden.

AZURE_CLIENT_SECRET- AZURE_CLIENT_ID und AZURE_TENANT_ID -Umgebungsvariablen werden benötigt, um ein DefaultAzureCredential-Objekt zu erstellen.

Alternativ können Sie den gesamten Verbindungszeichenfolge mithilfe der connectionString()-Funktion bereitstellen, anstatt den Endpunkt und den Zugriffsschlüssel bereitzustellen.

// Find your connection string from your resource in the Azure Portal
String connectionString = "https://<resource-name>.communication.azure.com/;<access-key>";

RoomsClient roomsClient = new RoomsClientBuilder().connectionString(connectionString).buildClient();

Wichtige Begriffe

Räume

  • Erstellen eines Raums
  • Aktualisieren des Raums
  • Raum abrufen
  • Raum löschen
  • Auflisten aller Räume

Teilnehmer

  • Hinzufügen oder Aktualisieren von Teilnehmern
  • Entfernen von Teilnehmer*innen
  • Alle Teilnehmer auflisten

Beispiele

Erstellen eines neuen Raums

Verwenden Sie die createRoom -Funktion, um einen neuen Raum zu erstellen.

OffsetDateTime validFrom = OffsetDateTime.now();
OffsetDateTime validUntil = validFrom.plusDays(30);
List<RoomParticipant> participants = new ArrayList<>();

// Add two participants
participant1 = new RoomParticipant(new CommunicationUserIdentifier("<ACS User MRI identity 1>")).setRole(ParticipantRole.ATTENDEE);
participant2 = new RoomParticipant(new CommunicationUserIdentifier("<ACS User MRI identity 2>")).setRole(ParticipantRole.CONSUMER);

participants.add(participant1);
participants.add(participant2);

// Create Room options
CreateRoomOptions roomOptions = new CreateRoomOptions()
        .setValidFrom(validFrom)
        .setValidUntil(validUntil)
        .setParticipants(participants);

CommunicationRoom roomResult = roomsClient.createRoom(roomOptions);

Aktualisieren eines vorhandenen Raums

Verwenden Sie die updateRoom -Funktion, um einen vorhandenen Raum zu aktualisieren.

OffsetDateTime validFrom = OffsetDateTime.now();
OffsetDateTime validUntil = validFrom.plusDays(30);

// Update Room options
UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
        .setValidFrom(validFrom)
        .setValidUntil(validUntil);

try {
    CommunicationRoom roomResult = roomsClient.updateRoom("<Room Id>", updateRoomOptions);
    System.out.println("Room Id: " + roomResult.getRoomId());
} catch (RuntimeException ex) {
    System.out.println(ex);
}

Abrufen eines vorhandenen Raums

Verwenden Sie die getRoom -Funktion, um einen vorhandenen Raum abzurufen.

try {
    CommunicationRoom roomResult = roomsClient.getRoom("<Room Id>");
    System.out.println("Room Id: " + roomResult.getRoomId());
} catch (RuntimeException ex) {
    System.out.println(ex);
}

Löschen eines vorhandenen Raums

Verwenden Sie die deleteRoom -Funktion, um einen erstellten Raum zu löschen.

try {
    roomsClient.deleteRoom("<Room Id>");
} catch (RuntimeException ex) {
    System.out.println(ex);
}

Auflisten von Räumen

Verwenden Sie die list rooms -Funktion, um alle aktiven Räume auflisten.

try {
    PagedIterable<CommunicationRoom> rooms = roomsClient.listRooms();

    for (CommunicationRoom room : rooms) {
        System.out.println("Room ID: " + room.getRoomId());
    }
} catch (Exception ex) {
    System.out.println(ex);
}

Hinzufügen oder Aktualisieren von Teilnehmern eines vorhandenen Raums

Verwenden Sie die addOrUpdateParticipants -Funktion, um Teilnehmer in einem vorhandenen Raum hinzuzufügen oder zu aktualisieren.

List<RoomParticipant> participantsToaddOrUpdate = new ArrayList<>();

// New participant to add
RoomParticipant participantToAdd = new RoomParticipant(new CommunicationUserIdentifier("<ACS User MRI identity 3>")).setRole(ParticipantRole.ATTENDEE);

// Existing participant to update, assume participant2 is part of the room as a
// consumer
participant2 = new RoomParticipant(new CommunicationUserIdentifier("<ACS User MRI identity 2>")).setRole(ParticipantRole.ATTENDEE);

participantsToaddOrUpdate.add(participantToAdd); // Adding new participant to room
participantsToaddOrUpdate.add(participant2); // Update participant from Consumer -> Attendee

try {
    AddOrUpdateParticipantsResult addOrUpdateResult = roomsClient.addOrUpdateParticipants("<Room Id>", participantsToaddOrUpdate);
} catch (RuntimeException ex) {
    System.out.println(ex);
}

Entfernen von Teilnehmern aus einem vorhandenen Raum

Verwenden Sie die removeParticipants -Funktion, um Teilnehmer aus einem vorhandenen Raum zu entfernen.

List<CommunicationIdentifier> participantsToRemove = new ArrayList<>();

participantsToRemove.add(participant1.getCommunicationIdentifier());
participantsToRemove.add(participant2.getCommunicationIdentifier());

try {
    RemoveParticipantsResult removeResult = roomsClient.removeParticipants("<Room Id>", participantsToRemove);
} catch (RuntimeException ex) {
    System.out.println(ex);
}

Auflisten aller Teilnehmer aus einem vorhandenen Raum

Verwenden Sie die listParticipants -Funktion, um alle Teilnehmer aus einem vorhandenen Raum aufzulisten.

try {
    PagedIterable<RoomParticipant> allParticipants = roomsClient.listParticipants("<Room Id>");
    for (RoomParticipant participant : allParticipants) {
        System.out.println(participant.getCommunicationIdentifier().getRawId() + " (" + participant.getRole() + ")");
    }
} catch (RuntimeException ex) {
    System.out.println(ex);
}

Problembehandlung

  1. Wenn beim Erstellen eines Clients ein Fehler auftritt, überprüfen Sie, ob Sie über die richtige Authentifizierung verfügen.
  2. Bei Fehlern bei der Raumerstellung sollte der Kommunikationsfehler in den meisten Fällen eine kurze Beschreibung des Problems geben.

Nächste Schritte

Mitwirken

Beiträge und Vorschläge für dieses Projekt sind willkommen. Für die meisten Beiträge ist die Zustimmung zu einer Lizenzvereinbarung für Mitwirkende (Contributor License Agreement, CLA) erforderlich, in der Sie erklären, dass Sie dazu berechtigt sind, uns die Rechte für die Nutzung Ihres Beitrags zu erteilen, und dies auch tun.

Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.

Aufrufe