Utilisation d'une API

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Utilisation d'une API

Re: Utilisation d'une API

par @rthur » 03 nov. 2016, 16:24

C'est la loose je m'en sort vraiment pas ;-;
Si tu ne nous donnes pas + d'info sur ce qui pose problème, ce que tu as essayé, et là où tu bloques précisément, on va avoir du mal à t'aider...

Re: Utilisation d'une API

par fitnopk » 03 nov. 2016, 16:00

C'est la loose je m'en sort vraiment pas ;-;

Re: Utilisation d'une API

par fitnopk » 18 oct. 2016, 16:31

J'ai compris à moitié mais à force de relire ça devrait aller :lol:
Merci o/

Re: Utilisation d'une API

par moogli » 18 oct. 2016, 16:19

salut,

une api c'est une application qui te fournit des données, un service. généralement sans état cela permet de séparer les logiques d'ihm et de ressources serveurs.
comme dans ton cas cela permet aussi d'ouvrir ses données à des applications tierces de façon "simple".
donc en gros on appel ton api via une url avec ou sans parmaètre en utilisant les différents verbes http.
plus d'infos la https://fr.wikipedia.org/wiki/Represent ... e_transfer


a priori ce que tu indiques permet de décrire ce que l'on va utiliser comme 'routes' pour accéder à ton api.
donc la
avec l'url http://ndm.com/api/v1/timezones/42 tu va fournir la ressource (timezone) qui a l'id 42.
je pense que cela va utiliser la méthode get_timezone de la classe view.

['name' => 'settings#setConfig', 'url' => '/v1/config', 'verb' => 'POST'],
ajout d'une configuration à l'aide d'une requête POST sur l'url /v1/config cela utilise settings::setConfig, a priori le corps de la requête doit contenir la config (sous forme json ?).

ensuite ils te fournissent de quoi indiquer les routes et les actions à faire
?php

\OCP\API::register(
    'get',
    '/apps/yourapp/url',
    function($urlParameters) {
      return new \OC_OCS_Result($data);
    },
    'yourapp',
    \OC_API::ADMIN_AUTH
);
tu ajoute une 'route' avec le verbe http GET, l'url /apps/yourapp/url
la fonction est ce que tu souhaites faire lorsque l'on consulte cette url. la tu devrais passer la main à un objet ou une autre fonction
la fonction doit forcément retourner return new \OC_OCS_Result($data); $data c'est les données que tu as récupéré avec ta fonction / classe qui sert de servie / dao.

après je ne connais et je n'ai pas le temps de me palucher la doc désolé.
c'est quelque chose d'assez complexe, rien que la doc de la config est super longue (https://doc.owncloud.org/server/9.0/adm ... eters.html)


@+

Utilisation d'une API

par fitnopk » 18 oct. 2016, 14:37

Bonjour bonjour,

Je veux utiliser une api pour récupérer les données d'un agenda sur une application (owncloud), mais je ne comprends absolument pas comment faire

J'essais d'utiliser la doc mais je ne comprends pas non plus.

appinfo/routes.php contient
return [
    'routes' => [
        //Main view                                                                                                                                                                                         
        ['name' => 'view#index', 'url' => '/', 'verb' => 'GET'],
        //Timezones                                                                                                                                                                                         
        ['name' => 'view#get_timezone', 'url' => '/v1/timezones/{id}', 'verb' => 'GET'],
        ['name' => 'view#get_timezone_with_region', 'url' => '/v1/timezones/{region}/{city}', 'verb' => 'GET'],
        ['name' => 'view#get_timezone_with_subregion', 'url' => '/v1/timezones/{region}/{subregion}/{city}', 'verb' => 'GET'],
        //Settings                                                                                                                                                                                          
        ['name' => 'settings#getConfig', 'url' => '/v1/config', 'verb' => 'GET'],
        ['name' => 'settings#setConfig', 'url' => '/v1/config', 'verb' => 'POST'],
        //Autocompletion                                                                                                                                                                                    
        ['name' => 'contact#searchAttendee', 'url' => '/v1/autocompletion/attendee', 'verb' => 'GET'],
        ['name' => 'contact#searchLocation', 'url' => '/v1/autocompletion/location', 'verb' => 'GET'],

        ['name' => 'proxy#proxy', 'url' => '/v1/proxy', 'verb' => 'GET'],
    ]
];
Quelqu'un pourrait m'éclairci sur cette histoire d'API please? #-o