Messagerie Vocale Free

Discussion et échanges de scripts pour la box eedomus

Messagerie Vocale Free

Messagepar timetre » 13 Sep 2017 14:25

Bonjour,

je viens de créer un script pour récupérer le nombre de messages dans la boîte vocale Free (ADSL).

je le soumets à votre jugement avant de le packager pour le store ...

Code : Tout sélectionner
<?

// Version v0.1
// Ce script permet de récupérer la liste des messages sur la messagerie vocale Free (ADSL)

// Les variables à passer en paramètre:
// [VAR1] = Login du compte Free
// [VAR2] = Mot de passe de compte Free


// Exemple d'appel du script avec variables: http://localhost/script/?exec=free_messagerie.php&login=[VAR1]&passwd=[VAR2]

// Le résultat est obtenu sous forme XML
// xPath pour récupérer simplement le nombres de messages: count(/FreeMessagerie/Messages/Message)

// Stocker les variables passées en argument
$login = getArg('login');
$passwd = getArg('passwd');

// Authentification et création de session
$url = "https://subscribe.free.fr/login/login.pl";
$post = 'login='.$login.'&pass='.$passwd.'&ok=Submit+Query';
$logindata = httpQuery($url, 'POST', $post);

// Gestion de la messagerie vocale
$urlpos = strpos($logindata, "notification_tel");
$urlendpos = strpos($logindata, '"', $urlpos);
$url = "https://adsl.free.fr/".substr($logindata, $urlpos, $urlendpos - $urlpos);
$url = str_replace("&amp;", "&", $url);
$voicemaildata = httpQuery($url, 'GET');

// Généraation de l'XML
$content_type = 'text/xml';
sdk_header($content_type);

echo "<FreeMessagerie>";
echo "<Messages>";

if(!strpos($voicemaildata, "Pas de nouveau message"))
{
    //preg_match_all('/<td nowrap>Nouveau message<\/td><td>(?P<telephone>\d+)<\/td><td nowrap>(?P<date>.{19})<\/td><td nowrap>(?P<duree>\d+)/', $voicemaildata, $matches);
    preg_match_all('/<td nowrap>Nouveau message<\/td><td>(?P<telephone>\d+)<\/td><td nowrap>(?P<date>.*)<\/td><td nowrap>(?P<duree>\d+)/', $voicemaildata, $matches);
    for($i = 0; $i < count($matches[0]); $i++)
    {
        echo "<Message>";
        echo "<Provenance>".$matches["telephone"][$i]."</Provenance>";
        echo "<Date>".$matches["date"][$i]."</Date>";
        echo "<Duree>".$matches["duree"][$i]."</Duree>";
        echo "</Message>";
    }
}

echo "</Messages>";
echo "</FreeMessagerie>";
?>


Suffit de créer un capteur HTTP avec l'adresse suivante:
Code : Tout sélectionner
http://localhost/script/?exec=free_messagerie.php&login=[VAR1]&passwd=[VAR2]


Et en mettant dans VAR1 et VAR2 respectivement vos login et mot de passe de votre abonnement Free.

le xPath pour avoir le nombre de messages :
Code : Tout sélectionner
count(/FreeMessagerie/Messages/Message)


Image

Pour les curieux, vous verez que le XML retourne en fait les N° d'appelants, date et durée des messages ... si jamais ça vous intéresse ...

Merci de votre retour
timetre
 
Messages : 12
Inscription : 15 Juin 2017

Re: Messagerie Vocale Free

Messagepar anne-marie » 13 Sep 2017 17:57

Super! Merci. Je vais essayer
Déjà, je récupérais le nom ou numéro du dernier appelant. Mais là ça semble encore mieux :D
2 Eedomus+ - stations météo Netatmo/module/pluviomètre -Thermostats Netatmo - Nabaztag2 - Karotz - Mirror - caméras IP - modules Zwave - RFXCOM Usb - modules 433mhz - ecodevice - Enocean - orvibo etc....
anne-marie
 
Messages : 1804
Inscription : 19 Fév 2014
Localisation : 77

Re: Messagerie Vocale Free

Messagepar hornet49 » 16 Nov 2017 16:04

quelqu'un a essayer ? moi mon xml me retourne:
<FreeMessagerie><Messages></Messages></FreeMessagerie>
donc je pense qu'il y a un problème :-(
hornet49
 
Messages : 6
Inscription : 01 Nov 2017

Re: Messagerie Vocale Free

Messagepar hornet49 » 16 Nov 2017 16:22

Bon, je viens de vérifier sur mon compte, y'a pas de message vocal donc c'est peut être normal....
hornet49
 
Messages : 6
Inscription : 01 Nov 2017

Re: Messagerie Vocale Free

Messagepar timetre » 16 Nov 2017 16:52

oui c'est normal :)
du coup le Xpath count(/FreeMessagerie/Messages/Message) retourne bien zéro.
Essaye de te laisser un message pour voir ;)
timetre
 
Messages : 12
Inscription : 15 Juin 2017

Re: Messagerie Vocale Free

Messagepar eedomusbox » 17 Nov 2017 14:04

tu ne l'as pas mis dans le store?
eedomusbox
 
Messages : 442
Inscription : 12 Sep 2014
Localisation : 69

Re: Messagerie Vocale Free

Messagepar timetre » 17 Nov 2017 14:29

Pas eu le temps de le packager encore ... je m'en occupe dès que possible ;)
Et l'autre aussi pour la position du soleil
timetre
 
Messages : 12
Inscription : 15 Juin 2017


Retour vers Scripts eedomus

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invité(s)

cron