Webservice Smartping - Page 16

Vendredi 07 Août 2015 12:13

Bonjour ,

Qui aurais-déjà fait la syntaxe d'authentification en PHP ?

Merci d'avance

Vendredi 07 Août 2015 14:19

Hello,
Tu peux utiliser une syntaxes de la forme:

$date_array = explode(" ", microtime());
$date = date("YmdHis", $date_array[1]);
$timestamp = $date . substr($date_array[0], 2, 3);
$ccle = md5("ton_mot_de_passe"Clin d'oeil;
$tmc = hash_hmac("sha1", $timestamp, $ccle);
$serie = "731902BEC06F213"; // Tu mets ce que tu veux
//$serie = substr(strtoupper(md5(time())), 0, 15); // Ou tu peux en générer un random

echo $init = file_get_contents("http://www.fftt.com/mobile/pxml/xml_initialisation.php?serie=$serie2&tm=$timestamp&tmc=$tmc&id=ton_id"Clin d'oeil;

Vendredi 07 Août 2015 19:25

Merci beaucoup 😊 ça fonctionne

Vendredi 07 Août 2015 19:38

L'authentification fonctionne mais par exemple si je teste :

echo $histo = file_get_contents("http://www.fftt.com/mobile/pxml/xml_histo_classement.php?serie=$serie&tm=$timestamp&tmc=$tmc&id=$ID&numlic=$licence"Clin d'oeil;

ça renvoie rien :/

Dimanche 09 Août 2015 09:24

Citation de guigui591012 :
L'authentification fonctionne mais par exemple si je teste :

echo $histo = file_get_contents("http://www.fftt.com/mobile/pxml/xml_histo_classement.php?serie=$serie&tm=$timestamp&tmc=$tmc&id=$ID&numlic=$licence"Clin d'oeil;

ça renvoie rien :/

Pour moi cela fonctionne. J'ai pas encore tout testé car j'attends (désespérement ;-) ) la mise à jour de la classe Service de SMGbab16.
Cette API augmentée m'amène à faire des changements importants dans mon module. J'espère être prêt pour septembre.
claude@agi-webconseil.fr

Dimanche 09 Août 2015 09:41

Bonjour
Cela fonctionne également pour moi. Guigui591012, as-tu repris le même numéro de série aléatoire que lors de l'authentification. Perso je mets ce numéro de série dans une variable de session lors de l'authentification, variable que je récupère ensuite dans l'utilisation des autres API.

Dimanche 09 Août 2015 12:17

Pour moi tout comme guigui591012, ça ne renvoi strictement rien...
Pourtant je passe le même numéro de série que celui que je passe à xml_initialisation.php juste avant... o/

Dimanche 09 Août 2015 12:44

Citation de mimi40 :
Bonjour
Cela fonctionne également pour moi. Guigui591012, as-tu repris le même numéro de série aléatoire que lors de l'authentification. Perso je mets ce numéro de série dans une variable de session lors de l'authentification, variable que je récupère ensuite dans l'utilisation des autres API.


Bonjour, oui oui j'utilise le même !!

<?php

$date_array = explode(" ", microtime());
$date = date("YmdHis", $date_array[1]);
$timestamp = $date . substr($date_array[0], 2, 3);
$motdepasse = md5("***********"Clin d'oeil; //Mon mot de passe
$tmc = hash_hmac("sha1", $timestamp, $motdepasse );
$serie = substr(strtoupper(md5(time())), 0, 15); // Ou tu peux en générer un random
$ID = "*****";
$departement ="59";

echo $init = file_get_contents("http://www.fftt.com/mobile/pxml/xml_initialisation.php?serie=$serie&tm=$timestamp&tmc=$tmc&id=$ID"Clin d'oeil;
echo $histo = file_get_contents("http://www.fftt.com/mobile/pxml/xml_club_dep2.php?serie=$serie&tm=$timestamp&tmc=$tmc&id=$ID&dep=$departement"Clin d'oeil;

?>

Init me retourne : 1 0 0 0 0 1
Histo me retourne rien :/ je sais pas si je m'y prend bien par contre

Dimanche 09 Août 2015 13:10

Quelqu'un aurait-il un exemple de classe, sans les identifiants FFTT bien-sûr à partager par mail ?

Dimanche 09 Août 2015 13:20

C'est bon ça fonctionne en changeant de page avec un nouveau timestamp

Dimanche 09 Août 2015 13:51

guigui591012, si tu peux partager ton code ça serait sympa ! Car j'ai le même problème... Content

Dimanche 09 Août 2015 14:10

Fait pas attention au code il n'est pas propre mais cela me permet de tester ^^

//PREMIER lien FFTT.PHP
<?php
session_start();
$date_array = explode(" ", microtime());
$date = date("YmdHis", $date_array[1]);
$timestamp = $date . substr($date_array[0], 2, 3);
$motdepasse = md5("***************"Clin d'oeil; //Mon mot de passe
$tmc = hash_hmac("sha1", $timestamp, $motdepasse );
$serie = substr(strtoupper(md5(time())), 0, 15); // Ou tu peux en générer un random
$ID = "************";

$_SESSION['ID'] = $ID;
$_SESSION['serie'] = $serie;
$_SESSION['tmc'] = $tmc;
$_SESSION['timestamp'] = $timestamp;

echo $init = file_get_contents("http://www.fftt.com/mobile/pxml/xml_initialisation.php?serie=$serie&tm=$timestamp&tmc=$tmc&id=$ID"Clin d'oeil;

?>
<a class="btn btn-primary" <?php echo '<a href=FFTT2.php>Lire l\'article !</a>'; ?><i class="fa fa-angle-right"></i></a>
<?php
?>

//DEUXIEME lien FFTT2.PHP
<?php
session_start();
include("FFTT.php"Clin d'oeil;
$date_array = explode(" ", microtime());
$date = date("YmdHis", $date_array[1]);
$timestamp = $date . substr($date_array[0], 2, 3);
$motdepasse = md5("***************"Clin d'oeil; //Mon mot de passe
$tmc = hash_hmac("sha1", $timestamp, $motdepasse );
$serie = $_SESSION['serie'];
$ID = $_SESSION['ID'];
$dep = "59";
echo $histo = file_get_contents("http://www.fftt.com/mobile/pxml/xml_liste_joueur.php?serie=$serie&tm=$timestamp&tmc=$tmc&id=$ID&dep=$dep"Clin d'oeil;
?>

Dimanche 09 Août 2015 14:27

Thanks guigui591012, ça marche pour moi aussi, j'ai compris ce qui n'allait pas.
C'est pas forcément nécessaire de passer par deux pages différentes, mais en fait on ne peut pas appeler xml_initialisation puis d'autres API à la suite.

Dimanche 09 Août 2015 14:30

Oui j'avais compris aussi ça avec mes tests ^^
Par contre, as tu déjà un exemple de code qui permettrait de récupérer les données dans la variable qui contient tout le XML ?

Exemple: le nom des joueurs quand tu listes tout un club &#128522;

Dimanche 09 Août 2015 15:19

Tout ce qui est basé par rapport à un numéro de licence ne fonctionne pas ? Est-ce que chez certaines personnes cela fonctionne ?

Merci d'avance

Lundi 10 Août 2015 05:12

pas de problème pour les propriétés d'un licencié
exemple de code

// ---- API FFTT ----------------------
function random_str($nbr) {
$str = "";
$chaine = "abcdefghijklmnpqrstuvwxyABCDEFGHIJKLMNOPQRSUTVWXYZ0123456789";
$nb_chars = strlen($chaine);
for($i=0; $i<$nbr; $i++)
{
$str .= $chaine[ rand(0, ($nb_chars-1)) ];
}
return $str;
}

function initialisationAPI() {
$serie = random_str(15);
$_SESSION["API"] = $serie ;
$cle = md5(API_MDP);
$tm = round(microtime(true)*1000); // timestamp en ms
$tmEntier = sprintf("%.0f", $tm); // pour ne pas avoir de notation scientifique
$tmc = hash_hmac("sha1",$tmEntier,$cle); // timestamp codé
$chaine = 'http://www.fftt.com/mobile/pxml/xml_initialisation.php?serie='.$serie.'&tm='.$tmEntier.'&tmc='.$tmc.'&id='.API_ID;
$result = file_get_contents($chaine);

$dom = new DomDocument();
$dom->loadXML($result);
$reponse = $dom->getElementsByTagName('appli')->item(0)->nodeValue;
return $reponse;
}

function connexionAPI($api, $var = "" ){
$cle = md5(API_MDP);
$tm = round(microtime(true)*1000); // timestamp en ms
$tmEntier = sprintf("%.0f", $tm); // pour ne pas avoir de notation scientifique
$tmc = hash_hmac("sha1",$tmEntier,$cle); // timestamp codé
$serie = $_SESSION["API"];
$chaine = 'http://www.fftt.com/mobile/pxml/'.$api.'.php?serie='.$serie.'&tm='.$tmEntier.'&tmc='.$tmc.'&id='.API_ID.'&'.$var;
return file_get_contents($chaine);
}
// ------------------------------------
if (initialisationAPI() == 1) {
/* joueur */
$result1 = connexionAPI('xml_joueur', 'licence=406614');
$joueurs = simplexml_load_string($result1);
foreach($joueurs as $value)
{
$s = "";
$s .= "licence : $value->licence </br>";
$s .= "nom : $value->nom </br>";
$s .= "prenom : $value->prenom </br>";
$s .= "club : $value->club </br>";
$s .= "n° club : $value->nclub </br>";
$s .= "nationalité : $value->natio </br>";
$s .= "classement global : $value->clglob </br>";
$s .= "points situation mensuelle : $value->point </br>";
$s .= "ancien classement global : $value->aclglob </br>";
$s .= "anciens points : $value->apoint </br>";
$s .= "classement officiel : $value->clast </br>";
$s .= "catégorie d'âge : $value->categ </br>";
$s .= "rang régional : $value->ranreg </br>";
$s .= "rang départemental : $value->rangdep </br>";
$s .= "points officiels : $value->valcla </br>";
$s .= "proposition de classement : $value->clpro </br>";
$s .= "valeur en début de saison : $value->valinit </br>";
echo $s."</br>";
}
} else {
echo "connexion impossible aux API FFTT";
}

----------------------------------------------
ce qui donne en affichage

licence : 406614
nom : NAURY
prenom : Guillaume
club : US POMAREZ
n° club : 03400024
nationalité :
classement global : 32987
points situation mensuelle : 922
ancien classement global : 32965
anciens points : 930.96
classement officiel : 9
catégorie d'âge : M1
rang régional :
rang départemental : 151
points officiels : 922
proposition de classement : 9
valeur en début de saison : 654.
Message modifié 2 fois, dernière modification Lundi 10 Août 2015 10:35 par mimi40

Lundi 10 Août 2015 19:57

J'ai copié ton code en ajoutant mon mot de passe à la place de API_MDP et bien mis mon ID et rien ne fonctionne aucun affichage

Lundi 10 Août 2015 20:12

connexion impossible aux API FFTT avec mes identifiants sur ton code étrange :/ , je vais chercher et je vous tiens au courant &#128522; merci

Mardi 11 Août 2015 10:04

quelle version de php as-tu?
simplexml_load_string est une fonction de PHP 5

pour tester étape par étape

1 -
echo random_str(15);
-> tu dois obtenir une chaine aléatoire de 15 caractères

2 -
tu remplaces API_MDP par 'tonMotDePass' (ne pas oublier les guillemets)
tu remplaces API_ID par 'tonID' (ne pas oublier les guillemets)
donc tu auras &id='.'tonID'.'&'.$var;
puis tu testes
echo initialisationAPI();
-> tu dois avoir 1 en retour
Message modifié 1 fois, dernière modification Mardi 11 Août 2015 10:17 par mimi40

Mardi 11 Août 2015 17:56

Oui c'est bon ça marche &#128522;

licence : 5932746
nom : HAUTCOEUR
prenom : Guillaume
club : PING PONG CLUB JEUMONT
n° club : 10590105
nationalité :
classement global : 2451
points situation mensuelle : 1811
ancien classement global : 2442
anciens points : 1819.96
classement officiel : 18
catégorie d'âge : S
rang régional :
rang départemental : 148
points officiels : 1811
proposition de classement : 18
valeur en début de saison : 1817

MERCI
13
18
381 messages

Vous êtes ici : Accueil > Forums > Développement de vos sites