|
| Iniciado por lucasniewia, 15,sep. 2016 14:54 - 2 respuestas |
| |
| | | |
|
| |
| Publicado el 15,septiembre 2016 - 14:54 |
Bonjour à tous, Je me suis beaucoup servit des API OVH avec la fonction GET, mais j'aimerai maintenant aussi me servir de celle de PUT. Le problème est que je n'arrive pas à m'authentifier au près d'OVH (INVALID SIGNATURE).
Voici mon procédé en GET :
Procedure SignatureOVH(sURL est une chaîne) sBody est une chaîne = ""
sSignatureEnClair est une chaîne = gsapplicationSecret+"+"+gsconsumerKey+"+"+"GET"+"+"+sURL+"+"+sBody+"+"+TimeStamp() sSignatureEnHexa est une chaîne= BufferVersHexa(HashChaîne(HA_SHA_160,sSignatureEnClair)) sSignatureEnHexa =(Minuscule(Remplace(sSignatureEnHexa,[Caract(32),RC],""))) sSign est une chaîne ="$1$"+Minuscule(sSignatureEnHexa)
RENVOYER sSign
HTTPRequête(sURL,"","X-Ovh-Application:"+gsApplicationKey+RC+"X-Ovh-Consumer:"+gsconsumerKey+RC+"X-Ovh-Signature:"+SignatureOVH(sURL)+RC+"X-Ovh-Timestamp:"+TimeStamp(),"","application/json")
Cela fonctionne très bien, maintenant je ne sais pas trop comment m'y prendre pour modifier avec PUT, il faut bien évidement commencer par remplacer GET par PUT dans la signature mais il reste le corps à définir j'ai essayé plusieurs chose en vain ou le problème vient peut être de HTTPRequête.
Voilà si quelqu'un s'est déjà servit des API OVH en méthode PUT, je suis preneur !
Merci |
| |
| |
| | | |
|
| | |
| |
| Publicado el 15,septiembre 2016 - 17:00 |
Je me réponds à moi même, j'ai trouvé la solution :
Procedure RequeteHTTPPUT(sURL est une chaîne,sCorps est une chaîne)
MaRequete est un HTTPRequête MaRequete..URL = sURL MaRequete..Entête["X-Ovh-Application"] = gsApplicationKey MaRequete..Entête["X-Ovh-Consumer"] = gsConsumerKey MaRequete..Entête["X-Ovh-Signature"] = SignatureOVHPUT(sURL,sCorps) MaRequete..Entête["X-Ovh-Timestamp"] = TimeStamp() MaRequete..Entête["Content-Type"] = "application/json" MaRequete..Méthode = httpPut MaRequete..Contenu = sCorps
sReponseHTTP est un httpRéponse = HTTPEnvoie(MaRequete)
RENVOYER sReponseHTTP..Contenu
Procedure SignatureOVHPUT(sURL est une chaîne,sCorps est une chaîne)
sSignatureEnClair est une chaîne = gsApplicationSecret+"+"+gsConsumerKey+"+"+"PUT"+"+"+sURL+"+"+sCorps+"+"+TimeStamp() sSignatureEnHexa est une chaîne= BufferVersHexa(HashChaîne(HA_SHA_160,sSignatureEnClair)) sSignatureEnHexa =(Minuscule(Remplace(sSignatureEnHexa,[Caract(32),RC],""))) sSign est une chaîne ="$1$"+Minuscule(sSignatureEnHexa)
RENVOYER sSign
Pour les prochains  |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 6 mensajes |
|
| Publicado el 10,enero 2020 - 18:13 |
Bonjour Lucas, Je cherche à me connecter à l'API d'OVH avec Windev et effectuer une requête simple sur l'API (par exemple lister les noms de domaines). Auriez-vous un exemple à partager ? Je vous remercie. Jean-Luc |
| |
| |
| | | |
|
| | | | |
| | |
|