OVH Community, votre nouvel espace communautaire.

Libraire C# .NET pour l'API


Gaston_Phone
25/10/2014, 13h23
Merci Citillara pour ces explications très claires.

Citillara
25/10/2014, 12h44
Pour faire appel à l'API d'Ovh ton application à besoin de 3 choses :
Une Application Key
Une Secret Key
et une Consumer Key.
Plusieurs applis peuvent avoir les mêmes application key et secret key.
Ce qui détermine les autorisations d'accès c'est la consumer key.

Dans l'exemple que je donne, le programme va demander une consumer key avec seulement les autorisation de faire des GET et des POST, et aucun PUT or DELETE sur toute l'API

Tu peux par exemple te faire une consumer key qui n'a le droit que de d'envoyer les sms sur un seul compte comme ca par exemple :

r.Rules.Add(new AccessRule { Method = "POST", Path = "/sms/nom_du_compte_sms/jobs" });

- - - Mise à jour - - -

Du coup ca me fait penser, je rajouterais peut être une couche dans la librairie pour qu'elle détermine automatiquement les fonctions accessibles ou non

Gaston_Phone
25/10/2014, 12h12
Merci Citillara, mais développant en PHP depuis 10 ans je connais bien ces définitions.

Extrait de https://github.com/Citillara/OvhApi/tree/master :
ConsumerKeyRequest r = new ConsumerKeyRequest() { Redirection = "http://www.google.fr" };
r.Rules.Add(new AccessRule { Method = "GET", Path = "/*" });
r.Rules.Add(new AccessRule { Method = "POST", Path = "/*" });
Ceci dit, j'ai mal du poser ma question.
Ce que je ne comprends pas c'est pourquoi dans une même requête tu mets à la fois les DEUX méthodes GET et POST.
Voilà.

Citillara
25/10/2014, 11h22
Citation Envoyé par Gaston_Phone
Comment travailles-tu, en POST ou en GET ?
Ca dépend de l'action que tu veux faire avec l'API. La même URL utilisée en POST ou en GET ne fait pas la même chose.

La règle générale :
GET : cherche des données sans les modifier
POST : envoit de nouvelles données
PUT : met à jour certaines données
DELETE : supprime certaines données

Gaston_Phone
24/10/2014, 23h16
Extrait de https://github.com/Citillara/OvhApi/tree/master :
ConsumerKeyRequest r = new ConsumerKeyRequest() { Redirection = "http://www.google.fr" };
r.Rules.Add(new AccessRule { Method = "GET", Path = "/*" });
r.Rules.Add(new AccessRule { Method = "POST", Path = "/*" });
Comment travailles-tu, en POST ou en GET ?

Citillara
24/10/2014, 22h53
Bonjour à tous,

Pour que mes serveurs puissent envoyer des sms depuis la nouvelle interface j'ai codé assez rapidement une petite libraire en C# pour communiquer avec l'API d'OVH.

Notez qu'elle en est à ses balbutiements mais au moins elle fonctionne pour les rares commandes en place.
J'essaiyerai de la développer et de la maintenir à jour par la suite.

Tous vos commentaires, critiques (constructives), suggestions sont les bienvenus !

Bonne soirée.

https://github.com/Citillara/OvhApi/tree/master