PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Équivalent  C# en langage WD
Équivalent C# en langage WD
Iniciado por obtuli, 29,abr. 2020 18:30 - 7 respuestas
Miembro registrado
961 mensajes
Publicado el 29,abril 2020 - 18:30
Bonjour,

je n'arrive pas à transformer ce code C# en équivalent WD, c'est une connexion pour récupérer ensuite un token.
(sans ouvrir une fenêtre web pour authentification)

Une idée ?

merci

OB



var client = new RestClient("https://login.xxxxxxxxxxx/token");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("client_id", "xxxxxxxxxxx");
request.AddParameter("client_secret", "xxxxxxxxxxxxxx");
request.AddParameter("grant_type", "xxxxxxx");
request.AddParameter("scope", "https://xxxxxxxxx/.default");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Miembro registrado
291 mensajes
Publicado el 29,abril 2020 - 22:50
Bonsoir,
Avant de transformer ton code, sais-tu qu'il est possible d'écrire du code C# dans WinDEV
Sur la gauche du séparateur de bloc ( Jaune) tu passes [WL] en [C#]
Miembro registrado
961 mensajes
Publicado el 30,abril 2020 - 09:30
Bonjour,

Merci pour ta réponse.

J'ai essayé, mais l'ajout d'assemblages .NET (using) ne fonctionne pas.
Quand je fait ajouter un assemblage .NET, la liste s'ouvre bien, je choisi le package qui va bien, mais au final
la dll n'est pas trouvée. Pourtant, sauf erreur de ma part, j'ai bien le sdk .NET

j'ai un piste avec httprequete
De base en mettant tous les AddParameter dans httprequete.contenu et l'url dans httprequete.url ça fonctionne bien.

Il est peut être possible de mixer avec un httpcreeformulaire pour passer plus simplement les Addparameter (plutôt que de tout concaténer
dans httprequete.contenu).

Pour ma méthode GET ça marche aussi, reste qu'à gérer le résultat jSON qui semble très compliqè vu sa structure.

Bon développement

OB
Miembro registrado
291 mensajes
Publicado el 30,abril 2020 - 10:52
Bonjour

Il existe une fonction JSONVersVariant

https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/195349-importation-structure-json/read.awp

Bien cordialement

PPi
Miembro registrado
961 mensajes
Publicado el 30,abril 2020 - 12:24
Oui merci, c'est ce que j'ai utilisé, je découvre plein de choses sur les variants !

La doc est bien utile, mais c'est pas évident au départ, surtout au niveau de la syntaxe.

Bonne continuation

OB
Miembro registrado
1.002 mensajes
Publicado el 30,abril 2020 - 12:51
Bonjour,

Client est un restRequête
Request est un restRéponse
Client.URL = "https://login.xxxxxxxxxxx/token"
Client.ContentType = "application/x-www-form-urlencoded"
Client.TimeoutConnexion = 60s
Client.Méthode = httpPost
Param est un Variant
Param.client_id = "xxxxxxxx"
Param.client_secret = "xxxxxxxx"
Param.grant_type = "xxxxxxxx"
Param.scope = "https://xxxxxxxxx/.default"
Client.Contenu = VariantVersJSON(Param)
Request = RESTEnvoie(Client)
Info(Request.Contenu)


jordan
Miembro registrado
348 mensajes
Publicado el 30,abril 2020 - 17:08
Bonjour

Il n'est plus nécessaire de passer par un variant (depuis la version 24)
Il existe maintenant le type de variable JSON (https://doc.pcsoft.fr/fr-FR/?1000023611&1000023611)

Paran est JSON
Param.client_id = "xxxxxxxx"
...
Client.Contenu = Param


--
Pascal H. http://phapps.e-monsite.com
Miembro registrado
961 mensajes
Publicado el 30,abril 2020 - 18:06
Merci pour vos réponses, j'ai bien noté le JSON, mon client est en version 23 et veux attendre pour migrer.