RSS ooVoo mit PHP verbinden

verfasst 10.09.2008 von MediaCix | kurze URL: /t414 | Kommentar schreiben

ooVoo mit PHP verbinden

Aufgrund der Tatsache das die Software ooVoo mit Jabber XML Messaging kommuniziert, müsste man doch auch mit PHP auf dem ooVoo-Server zugreiffen können. Zum Beispiel die Userliste oder eigene vCard auslesen, Status setzen oder Messages abrufen oder versenden. Es gibt zwar eine PHP-Jabber-Klasse, aber die ist nicht wirklich geeignet. Also habe ich mal selber etwas experimentiert und eine eigene Klasse geschrieben.

Das ganze ist noch reichlich Beta, aber die Verbindung zum Server, Status setzen und Userliste abholen geht schon mal. Hauptproblem ist der, dass der ooVoo-Server nicht immer alles in einen Packet sendet. So werden teilweise 2 bis 3 unterschiedliche Packet gesendet, die abgefangen werden müssen. Mit fsockopen() ist dss so eine Sache, weil es immer nur ein Packet erwartet. In den nächsten Tagen aber mehr dazu.

[update]

Jetzt hab ich mir eine Klasse zum experimentieren programmiert:

» PHP
<?php
// Klasse einbinden
 
require_once('class_oovoo.php');

// Klasse laden
 
$OV = new ooVoo;

// Verbindung herrstellen
 # $OV->debug = true;
 
$OV->server '63.111.29.155';
 
$OV->Connect();
 
$OV->SendAuth();

// Status setzen
 /*
 1 = beschäftigt
 2 = online
 4 = abwesend
 9 = unsichtbar
 */
 
$OV->SetStatus(1);

// User-Liste abfragen
 
$OV->UserList();

// Message senden
 # $content['body'] = 'test';
 # $OV->SendMessage('dg2vy-atv', 'normal', NULL, $content, NULL);

// Verbindung trennen
 
$OV->DisConnect();

// Log ausgeben
 
echo $OV->addlog;

// Status Userliste abfragen
 
$user $OV->GetUserList();
 echo 
'<pre>',print_r($user,true),'</pre>';
?>


Mittels $OV->addlog bekommt man eine kleine Übersicht:

TX 10.09.08 17:21:56 : connect with oovoo.com 
RX 10.09.08 17:21:56 : OK 
TX 10.09.08 17:21:56 : auth to oovoo.com 
RX 10.09.08 17:21:56 : OK 
TX 10.09.08 17:21:58 : set status »beschäftigt« 
RX 10.09.08 17:21:58 : OK 
RX 10.09.08 17:21:58 : 10.09.2008 15:11:21 user »do3uhwgr« 
RX 10.09.08 17:21:58 : user ist online 
TX 10.09.08 17:21:59 : iq set blist 
RX 10.09.08 17:21:59 : OK 
TX 10.09.08 17:22:00 : iq get prefs-1 
RX 10.09.08 17:22:00 : OK 
TX 10.09.08 17:22:01 : iq get blist-d 
RX 10.09.08 17:22:01 : OK 
TX 10.09.08 17:22:02 : iq get rost-1 
RX 10.09.08 17:22:02 : OK 
TX 10.09.08 17:22:02 : get vCard dl1dwm 
RX 10.09.08 17:22:02 : OK 
TX 10.09.08 17:22:02 : get vCard dl1vny 
RX 10.09.08 17:22:02 : OK 
TX 10.09.08 17:22:02 : get vCard dl2vny 
RX 10.09.08 17:22:02 : OK 
TX 10.09.08 17:22:03 : get vCard do3uhwgr 
RX 10.09.08 17:22:03 : OK 
TX 10.09.08 17:22:03 : get vCard f0fvj_ 
RX 10.09.08 17:22:03 : OK 
TX 10.09.08 17:22:03 : get vCard gustaf22 
RX 10.09.08 17:22:03 : OK 
TX 10.09.08 17:22:03 : get vCard hullich43 
RX 10.09.08 17:22:03 : OK 
TX 10.09.08 17:22:03 : get vCard zocker001 
RX 10.09.08 17:22:03 : OK 


Mittels $OV->GetUserList() kann ein Array erstellt werden, über alle User die man selber in der Kontaktliste hat:

    [dg2vy-atv] => Array
        (
            [GIVEN] => DG2VY Radio Amateur
            [LOCATION] => 1.6.1.9
            [ROLE] => /picture_store/dg2vy-atv@oovoo.com.jpeg
        )


Nunja, das ganze ist nur ein Experiment. Denkbar wären Online-Abfragen, ob der User XYZ online ist oder nicht, ob eine Kamera gerade benutzt oder nicht. Auch das Senden von Nachrichten an andere User (der eigenen Kontaktliste) ist denkbar. Auch in Verbindung mit Chat-Systemen gäbe es Möglichkeiten.

dg2vy-atv@oovoo.com.jpeg

PS: Die hier benutze PHP-Klasse class_oovoo.php ist ein Prototyp und nicht zur Weitergabe bestimmt.

neuen Kommentar schreiben

Ich möchte automatisch eine E-Mail bei neuen Kommentaren erhalten.



Themen mit ähnlichen Inhalten


Tags zum Beitrag

oovoo