<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.fr.windev.old</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>27 Nov 2025 10:41:22 Z</lastBuildDate><pubDate>17 Nov 2025 04:09:01 Z</pubDate><description>Bonjour, c'est ma première tentative pour me connecter à une API REST et récupérer des données.&#13;
&#13;
Je teste pour commencer les différents moyens de récupérer un token en OAuth2.&#13;
&#13;
J'ai essayé avec AuthIdentifie et j'ai réussi a obtenir un token mais je me rend compte qu'on ne peut pas éviter l'ouverture d'une page web en WD27. (test 1)&#13;
&#13;
J'essaie donc avec HTTPENVOIE mais j'ai soi une erreur 400 (test2) soit un token vide (test3)&#13;
&#13;
Si une bonne âme pouvait me donner une piste, je ne m'attendais pas à tant de difficulté...&#13;
&#13;
Emmanuel&#13;
&#13;
TEST 1 : &#13;
//******************AVEC AUTHIDENTIFIE : fenetre de login obligatoire en Windev27, Token OK mais la requete finales ne renvoie rien&#13;
cMaRequete est un restRequête&#13;
cMaRequete.URL = "https://shdemo.xpertis.nc/basicdata-api/api/v1/companies"&#13;
&#13;
//HTTPConfigure(httpModeSansFenêtre, True)&#13;
&#13;
OAuth2Params est un OAuth2Paramètres&#13;
OAuth2Params.ClientID					= "srvacc-api" &#13;
OAuth2Params.ClientSecret				= "VvLMkK9zyngaXvJQ0TZraR2EQqxFIWTx"&#13;
OAuth2Params.URLAuth					= "https://keycloak.xpertis.nc/auth/realms/DEMO/protocol/openid-connect/auth"&#13;
OAuth2Params.URLToken					= "https://keycloak.xpertis.nc/auth/realms/DEMO/protocol/openid-connect/token"&#13;
OAuth2Params.ParamètresSupplémentaires	= "force_reapprove=false"&#13;
OAuth2Params.URLRedirection = "http://localhost:9874/"&#13;
OAuth2Params.ParamètresSupplémentaires="force_reapprove=false"&#13;
//Demande d'authentification : ouvre la fenêtre de login&#13;
&#13;
MonToken est un AuthToken = AuthIdentifie(OAuth2Params)&#13;
&#13;
SI PAS MonToken.Valide ALORS&#13;
	Erreur("pb de connexion API "+CR+ErreurInfo(errComplet))&#13;
SINON&#13;
	cMaRequete.AuthToken = MonToken&#13;
//	cMaRequete.Utilisateur="admin-sirh@asys.fr"&#13;
//	cMaRequete.MotDePasse="Asys%2023!"&#13;
	cMaReponse est un httpRéponse = RESTEnvoie(cMaRequete)&#13;
	SI ErreurDétectée ALORS&#13;
		Erreur("Pb de requête API : "+CR+ErreurInfo(errComplet))&#13;
	SINON&#13;
		Info("Résultat code : "+cMaReponse.CodeEtat+CR+"Data : "+cMaReponse.Contenu+CR+"Token : "+MonToken.Valeur)&#13;
	FIN&#13;
FIN&#13;
&#13;
&#13;
//****************** TEST2 avec HTTPENVOIE : erreur 400&#13;
httpToken_Requete	est une httpRequête&#13;
httpToken_Réponse	est une httpRéponse&#13;
&#13;
sCléClient			est une chaîne&#13;
sCléSecret			est une chaîne&#13;
sUtilisateur		est une chaîne&#13;
sMotPasse			est une chaîne&#13;
&#13;
sUtilisateur				= "admin-sirh@asys.fr"&#13;
sMotPasse					= "Asys%2023!"&#13;
sCléClient					= "srvacc-api"&#13;
sCléSecret					= "VvLMkK9zyngaXvJQ0TZraR2EQqxFIWTx"&#13;
&#13;
httpToken_Requete..Méthode	= httpPost&#13;
httpToken_Requete..URL		= "https://keycloak.xpertis.nc/auth/realms/DEMO/protocol/openid-connect/token"&#13;
&#13;
// Construction du contenu de la requête POST avec la chaîne standard&#13;
// qui concatène toutes les données d'authentification&#13;
httpToken_Requete..Contenu	= "grant_type=password&amp;username="+sUtilisateur+"&amp;password="+sMotPasse+"&amp;client_id="+sCléClient+"&amp;client_secret="+sCléSecret&#13;
httpToken_Réponse = HTTPEnvoie(httpToken_Requete)&#13;
// On doit vérifier que httpToken_Réponse..CodeEtat = 200 et traiter les erreurs&#13;
SI httpToken_Réponse..CodeEtat=200&#13;
	jToken est un JSON = httpToken_Réponse..Contenu&#13;
	Info(httpToken_Réponse..Contenu)&#13;
SINON&#13;
	Erreur("Pb de requête API : code erreur = "+httpToken_Réponse..CodeEtat)&#13;
FIN	&#13;
&#13;
&#13;
//****************** TEST3 avec HTTPENVOIE : token vide&#13;
sURLToken	est une chaîne	= "https://keycloak.xpertis.nc/auth/realms/DEMO/protocol/openid-connect/token"&#13;
&#13;
reqToken	est un httpRequest&#13;
reqToken.URL			= sURLToken&#13;
reqToken.Méthode		= httpPost&#13;
reqToken.ContentType	= "application/x-www-form-urlencoded"&#13;
&#13;
// Corps du POST OAuth2&#13;
reqToken.Contenu		= [&#13;
grant_type=client_credentials&amp;&#13;
client_id=srvacc-API&amp;&#13;
client_secret=VvLMkK9zyngaXvJQ0TZraR2EQqxFIWTx&amp;&#13;
scope=API.read&#13;
]&#13;
&#13;
// Exécuter silencieusement&#13;
HTTPEnvoie(reqToken)&#13;
SI  PAS ErreurDétectée &#13;
	sJSON	est une chaîne	= HTTPDonneRésultat()&#13;
	rep		est un Variant	= JSONVersVariant(sJSON)&#13;
	token	est une chaîne	= rep.access_token&#13;
	Info(token)&#13;
SINON&#13;
	Erreur("Erreur OAuth2 : " + ErreurInfo(errComplet))&#13;
	RETOUR&#13;
FIN</description><ttl>30</ttl><generator>WEBDEV</generator><language>fr_FR</language><link>https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27/read.awp</link><title>Recupérer un token OAuth2 sans ouverture de fenetre de login en Windev27</title><managingEditor>moderateur@pcsoft.fr (The moderator)</managingEditor><webMaster>webmaster@pcsoft.fr (The webmaster)</webMaster><item><author>biba pip</author><category>pcsoft.fr.windev.old</category><comments>https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30949/read.awp</comments><pubDate>27 Nov 2025 10:41:22 Z</pubDate><description>Emmanuel Vitrac escribío: &#13;
&gt; Bonjour, c'est ma première tentative pour me connecter à une API REST et récupérer des données.&#13;
&gt;…</description><guid isPermaLink="true">https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30949/read.awp</guid><link>https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30949/read.awp</link><source url="https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27/read.awp">Recupérer un token OAuth2 sans ouverture de fenetre de login en Windev27</source><title>Re: Recupérer un token OAuth2 sans ouverture de fenetre de login en Windev27</title></item><item><author>biba pip</author><category>pcsoft.fr.windev.old</category><comments>https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30948/read.awp</comments><pubDate>27 Nov 2025 10:41:13 Z</pubDate><description>Emmanuel Vitrac escribío: &#13;
&gt; Bonjour, c'est ma première tentative pour me connecter à une API REST et récupérer des données.&#13;
&gt;…</description><guid isPermaLink="true">https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30948/read.awp</guid><link>https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30948/read.awp</link><source url="https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27/read.awp">Recupérer un token OAuth2 sans ouverture de fenetre de login en Windev27</source><title>Re: Recupérer un token OAuth2 sans ouverture de fenetre de login en Windev27</title></item><item><author>Alain Blanc</author><category>pcsoft.fr.windev.old</category><comments>https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30944/read.awp</comments><pubDate>25 Nov 2025 15:27:15 Z</pubDate><description>Emmanuel Vitrac a écrit : &#13;
&gt; C'est bon , merci l'IA !!!&#13;
&#13;
Comment as-tu résolu le problème ?</description><guid isPermaLink="true">https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30944/read.awp</guid><link>https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30944/read.awp</link><source url="https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27/read.awp">Recupérer un token OAuth2 sans ouverture de fenetre de login en Windev27</source><title>Re: Recupérer un token OAuth2 sans ouverture de fenetre de login en Windev27</title></item><item><author>Emmanuel Vitrac</author><category>pcsoft.fr.windev.old</category><comments>https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30937/read.awp</comments><pubDate>18 Nov 2025 07:48:36 Z</pubDate><description>C'est bon , merci l'IA !!!</description><guid isPermaLink="true">https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30937/read.awp</guid><link>https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27-30937/read.awp</link><source url="https://forum.pcsoft.fr/en-US/pcsoft.fr.windev.old/30936-recuperer-token-oauth2-sans-ouverture-fenetre-login-windev27/read.awp">Recupérer un token OAuth2 sans ouverture de fenetre de login en Windev27</source><title>Re: Recupérer un token OAuth2 sans ouverture de fenetre de login en Windev27</title></item></channel></rss>
