PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Transcription CURL en HTTPREQUETE
Transcription CURL en HTTPREQUETE
Débuté par F.DGF, 13 juin 2019 10:29 - 2 réponses
Posté le 13 juin 2019 - 10:29
Bonjour ,
Je souhaite convertir ce code CURL vers une fonction Wlanguage et j'ai toujours des erreurs .
J'ai besoin de votre aide :
code CURL :
curl -u Client_Id:Client_Secret http://e.site.fr/oauth2/token.php -d 'grant_type=password&password=xxxxxx&username=yyyyy@yyy.fr'
code Wlanguage :
sClientID est une chaîne = "aaaaaaaaaaaa"
sClientSecret est une chaîne = "bbbbbbbbb"
sUserLogin est une chaîne ="sssss@sss.fr"
sUserPassword est une chaîne ="xxxxxxxxxxx"
sURL est une chaîne ="http://e.site.fr/oauth2/token.php"


// Entête HTTP
MaHttp est une httpRequête
MaHttp.Entête["client_id"] = sClientID
MaHttp.Entête["client_secret"] = sClientSecret
MaHttp.URL = sURL
MaHttp.AgentUtilisateur=""
MaHttp.Utilisateur=sUserLogin
MaHttp.MotDePasse=sUserPassword
MaHttp.Méthode=httpPost
MaHttp.Contenu="grant_type=password&password=xxxxxxxxxxx&username=sssss@sss.fr"

cMaReponse est un httpRéponse = HTTPEnvoie(MaHttp)
SI ErreurDétectée ALORS
Trace(ErreurInfo(errComplet))
SINON
Info(cMaReponse..Contenu)
FIN

J'ai l'erreur suivante :
{“error”:“invalid_client”,“error_description”:“The client credentials are invalid”}
Posté le 14 juin 2019 - 10:23
Problème résolu:

sClientID est une chaîne = sClient_Id
sClientSecret est une chaîne = sClient_Secret
sUserLogin est une chaîne =sUser_Login
sUserPassword est une chaîne =sUserMot_de_Passe
sURL est une chaîne ="http://e.Site.fr/oauth2/token.php"

sM_sHTTPUrl est une chaîne = "grant_type=password&password="+sUserPassword+"&username="+sUserLogin

cMyRequest is httpRequest
cMyRequest..Method = httpPost
cMyRequest..URL = sURL
cMyRequest..User=sClientID
cMyRequest..Password=sClientSecret
cMyRequest..ContentType = "application/x-www-form-urlencoded"
cMyRequest..Content = StringToUTF8(sM_sHTTPUrl)
cMyResponse is httpResponse = HTTPSend(cMyRequest)
Membre enregistré
351 messages
Popularité : +13 (17 votes)
Posté le 13 décembre 2019 - 15:37
Bonjour,
Super le post , j'avais le même soucis,et cela m'a bien aidé.
J'avais ce soucis car je ne suis pas habitué avec les WS.

J'aurais quelques questions supplémentaires
Dans les exemple on voit : (nécessaire pour le rafraîchissement du token ??)...
SI httpRep..CodeEtat = 200 ALORS
// Déclare les paramètres, nécessaire pour le rafraîchissement du token
oAuth2Param est un OAuth2Paramètres
oAuth2Param..ClientID = PAYPAL_APP_ID
oAuth2Param..ClientSecret = PAYPAL_SECRET
oAuth2Param..URLAuth = PAYPAL_ACCESS_BASEURL
oAuth2Param..Scope = PAYPAL_SCOPES
oAuth2Param..URLToken = PAYPAL_TOKEN

// Initialise le token avec le JSON
MonToken est un AuthToken(oAuth2Param, httpRep..Contenu)
gMonToken <= MonToken
FIN

Est-ce nécessaire de faire cela ?
Possible de mémoriser le token pour l'utiliser sans avoir a recommencer le code ?
quand les token Exipe il faut refaire le code d'initialisation ?

Et en fin comment consommer en suite le ws
Voici ce que j'ai dans mon exemple en CURL.

curl -X GET -H "Authorization: Bearer mon_access_token" " https://xxxx/liste"