2017-09-13 2 views
1

J'essaye de créer une salle d'égal à égal dans Twilio en utilisant REST Api (php). Le code est le suivant:Twilio token et salles homologues utilisant l'API REST

<?php 
require_once 'Twilio/autoload.php'; 
use Twilio\Rest\Client; 
use Twilio\Jwt\AccessToken; 
use Twilio\Jwt\Grants\VideoGrant; 
include_once 'config.inc.php'; 
$identity = "alice"; 
$client = new Client($TWILIO_API_KEY, $TWILIO_API_SECRET); 
$roomName = $client->video->rooms->create([ 
    'uniqueName' => 'TestRoom2', 
    'type' => 'peer-to-peer', 
    'enableTurn' => false, 
    'Duration' => 300, 
    'MaxParticipants' => 2, 
    'statusCallback' => 'http://example.org' 
]); 
//echo $roomName->status; 
//token 
$token= new AccessToken($TWILIO_ACCOUNT_SID, $TWILIO_API_KEY, $TWILIO_API_SECRET, 300, $identity); 
// Create Video grant 
$videoGrant = new VideoGrant(); 
$videoGrant->setRoom($roomName); 
// Add grant to token 
$token->addGrant($videoGrant); 
// return serialized token 
echo $token->toJWT(); 
?> 

Je n'utilise le code fourni par Twilio dans leur exemple à: https://www.twilio.com/docs/api/video/rooms-resource

Peer-to-Peer création de chambre.

Lors du test de la charge utile de données de jeton web généré à: https://jwt.io/

Il affiche la chambre vide.

{ 
    "jti": "SK1ddcfb6782fa358cb5e2306f8875ac1d-1505266888", 
    "iss": "SK1ddcfb6782fa358cb5e2306f8875ac1d", 
    "sub": "AC6c23ea48bd7d6bd681d21301f35c22b6", 
    "exp": 1505267188, 
    "grants": { 
    "identity": "alice", 
    "video": { 
     "room": {} 
    } 
    } 
} 

Si je crée une pièce en utilisant ce qui suit, cela fonctionne très bien.

$roomName = "TestRoom"; 

Le problème est avec le code:

$client = new Client($TWILIO_API_KEY, $TWILIO_API_SECRET); 
$roomName = $client->video->rooms->create([ 
    'uniqueName' => 'TestRoom2', 
    'type' => 'peer-to-peer', 
    'enableTurn' => false, 
    'Duration' => 300, 
    'MaxParticipants' => 2, 
    'statusCallback' => 'http://example.org' 
]); 

Qu'est-ce qui ne va pas dans mon code de chambre peer-to-peer Twilio ?? Twilio prend trop de temps pour répondre et le support n'est pas si bon. Ils n'ont pas non plus fourni d'exemples simples, seulement un exemple de nœud js qui est confus.

Aide demandée.

Répondre

1

Il semble que vous passez un objet pièce à setRoom, mais setRoom attend juste une chaîne (le nom de la pièce).

Vous voulez probablement quelque chose comme ceci (notez l'utilisation de $roomName contre $room):

$roomName = 'TestRoom2'; 
$room = $client->video->rooms->create([ 
    'uniqueName' => $roomName, 
    'type' => 'peer-to-peer', 
    'enableTurn' => false, 
    'Duration' => 300, 
    'MaxParticipants' => 2, 
    'statusCallback' => 'http://example.org' 
]); 
$token = new AccessToken($TWILIO_ACCOUNT_SID, $TWILIO_API_KEY, $TWILIO_API_SECRET, 300, $identity); 
$videoGrant = new VideoGrant(); 
$videoGrant->setRoom($roomName); 
$token->addGrant($videoGrant); 
echo $token->toJWT(); 
+0

Merci beaucoup !! – Pamela