Base de connaissance Apps Panel

S’abonner

Appeler une API externe (DataSync)

DataSync est une classe permettant d’overrider cURL. Il est ainsi possible de mettre en cache une requête et se situe dans le CORE WS (core/Lib/DataSync).

Ainsi, si une requête est de nouveau appelée, la classe DataSync va d’abord vérifier si elle n’existe pas en cache avant de l’envoyer.

Afin de s’en servir, il faut appeler la fonction call().

Elle prend plusieurs paramètres :

  • $url => L’url de la requete.
  • $method => La méthode utilisé (si paramètre non passé, est égale à null)
  • $forcenocache => Booléen pour forcer ou non l’utilisation du cache  (si paramètre non passé, est égale à false)

 

Pour appeler la fonction :  Lib\DataSync::call($url,$method,$forcenocache);

 

Exemple :

nous allons tester cette fonction avec l’API de Flickr.

Pour cela nous allons utiliser la fonction flickr.galleries.getPhotos qui va retourner les photos de la galerie dont vous avez passez son id en paramètre.

ce qui donnera  :

    $ds = new \Lib\DataSync("https://api.flickr.com/services/rest/?method=flickr.galleries.getPhotos&api_key=83f05f71fa3667a172ce0d13bfc80d15&gallery_id=5704-72157622566655097&format=json&nojsoncallback=1&api_sig=725276782bcf191a8d027bc3f7fd9db3");
    curl_setopt($ds->curl, CURLOPT_URL, $url);
    curl_setopt($ds->curl, CURLOPT_FOLLOWLOCATION, false);
    curl_setopt($ds->curl, CURLOPT_RETURNTRANSFER, TRUE);
    $result = $ds->call($url);
    curl_close( $ds->curl );

Donc la première fois qu’on appellera L’API Flickr, le résultat sera passé en cache.

Ainsi, la prochaine fois qu’on l’appelle, DataSync va vérifier si il n’y a pas eu de mise à jour entre temps.  Si il n’y a pas eu de modification, DataSync récupérera le résultat mis en cache précédemment.

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 0
Vous avez d’autres questions ? Envoyer une demande