| |
Membre enregistré 44 messages |
|
Posté le 14 novembre 2018 - 10:59 |
Bonjour à tous,
Je cherche un bout de code pour la mise en place et l'utilisation des API INSEE (https://api.insee.fr) pour vérification du N° de SIRET d'une entreprise. Si quelqu'un aurait cela je serais preneur.
Par avance Merci à tous. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 623 messages Popularité : +100 (114 votes) |
|
Posté le 14 novembre 2018 - 11:29 |
Ca a l'air assez simple a première vue (exemple pour les n° de SIREN :
sNumeroSIREN est une chaîne = "TonNumeroAVerifier" sToken est une chaîne = "TonJeton"
Requete est un restRequête Requete.URL = "https://api.insee.fr/entreprises/sirene/V3/siren/"+sNumeroSIREN Requete.Entête["Authorization"] = sToken Requete.Méthode = "GET" Reponse est un restRéponse = RESTEnvoie(Requete) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 129 messages Popularité : +20 (20 votes) |
|
Posté le 14 novembre 2018 - 12:38 |
Bonjour,
serveur, protocole, cle, secret, token, url_SIRET, SIRET est une chaîne
requete est un restRequête reponse est un restRéponse resultat est un Variant
serveur = "api.insee.fr" protocole = "https://" url_SIRET = "/entreprises/sirene/V3/siret/"
cle = "" secret = ""
token = "" SIRET = ""
AVEC requete ..URL = protocole + serveur + url_SIRET + SIRET ..Méthode = httpGet ..Entête [ "Accept" ] = "application/json" ..Entête[ "Authorization" ] = "Bearer " + token ..IgnoreErreur = httpIgnoreCertificatInvalide + httpIgnoreCertificatExpiré + httpIgnoreNomCertificatInvalide FIN
reponse = HTTPEnvoie( requete ) SI ErreurDétectée ALORS Trace( ErreurInfo( errComplet ) ) SINON resultat = JSONVersVariant( reponse..Contenu ) Trace( resultat.etablissement.uniteLegale.denominationUniteLegale ) FIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 14 novembre 2018 - 13:39 |
Bonjour,
Merci pour la réponse, mais c'est le code que j'ai et voici la réponse
Le Token est valide, génération de manière automatique
..Contenu <am:fault xmlns:am="http://wso2.org/apimanager"><am:code>405</am:code><am:type>Status report</am:type><am:message>Runtime Error</am:message><am:description>Method not allowed for given API resource</am:description></am:fault>
..EnteteBrut HTTP/1.1 405 Method Not Allowed X-Cnection: close X-Forwarded-Proto: https X-Forwarded-For: 83.201.54.178 Accept-Encoding: deflate, gzip Content-Type: application/xml; charset=UTF-8 Date: Wed, 14 Nov 2018 12:35:39 GMT Transfer-Encoding: chunked Connection: close Set-Cookie: INSEE=1830169354.22560.0000;secure; expires=Wed, 14-Nov-2018 12:55:39 GMT; path=/ Strict-Transport-Security: max-age=100000; includeSubDomains
Merci pour l'aide. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 14 novembre 2018 - 13:54 |
Bonjour Julien,
Merci pour ton code, il fonctionne à Merveille, j'ai vu ou se trouve mon erreur. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 129 messages Popularité : +20 (20 votes) |
|
Posté le 14 novembre 2018 - 13:56 |
L'erreur 405 est un problème de méthode non autorisée
405 (Method Not Allowed)
The API responds with a 405 error to indicate that the client tried to use an HTTP method that the resource does not allow. For instance, a read-only resource could support only GET and HEAD, while a controller resource might allow GET and POST, but not PUT or DELETE.
A 405 response must include the Allow header, which lists the HTTP methods that the resource supports.
Pour la recherche sur SIRET il n'y a que ..Méthode = httpGet qui convienne
Pouvez-vous montrer le code d'appel ?
PS : Je viens de voir votre réponse, tant mieux !!Message modifié, 14 novembre 2018 - 13:57 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 5 messages |
|
Posté le 26 novembre 2018 - 19:21 |
Bonsoir à tous,
Je cherche à renouveler mon token. Pour cela je me suis inspiré (pour pas dire recopier) du code de Julien V :
serveur, protocole, cle, secret est une chaîne requete est un restRequête reponse est un restRéponse serveur = "api.insee.fr" protocole = "https://"
cle = "Zx3oxgxObMLE3Q37IhpoqrtffuIa" secret = "r0qZ8LZ7sYF2CgHPp3Rf2HQRG4oa"
AVEC requete ..URL = protocole + serveur + "/token" ..Entête[ "Authorization" ] = "Basic "+ Encode( cle + ":" + secret, encodeBASE64URL ) ..Méthode = httpPost ..Contenu = "grant_type=client_credentials" ..AgentUtilisateur = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0" ..ContentType = "application/x-www-form-urlencoded" FIN
reponse = HTTPEnvoie(requete)
Mais la seule réponse que j'obtiens est :
{"error_description":"Error in getting oauth app state.","error":"server_error"}
HTTP/1.1 404 Not Found X-Frame-Options: DENY X-Content-Type-Options: nosniff Set-Cookie: INSEE=1863723786.58148.0000;secure; expires=Mon, 26-Nov-2018 18:30:44 GMT; path=/ X-XSS-Protection: 1; mode=block Content-Type: application/json Date: Mon, 26 Nov 2018 18:10:44 GMT Transfer-Encoding: chunked Connection: close Set-Cookie: INSEE=1846946570.22560.0000;secure; expires=Mon, 26-Nov-2018 18:30:44 GMT; path=/ Strict-Transport-Security: max-age=100000; includeSubDomains
Qu'est-ce que je loupe ? D'avance, vraiment, merci … |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 27 novembre 2018 - 09:28 |
Bonjour Cyril,
Essaye en mettant le token dans une chaine et fait le test pour interroger un Siret ou Siren et regarde ce qu'il se passe. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 5 messages |
|
Posté le 27 novembre 2018 - 13:33 |
Bonjour,
Merci Mg2Fr. Je n'ai pas de problème avec la récupération des données SIRET. Cela fonctionne. Je cherche juste à renouveler mon TOKEN.
D'avance merci … |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 27 novembre 2018 - 14:14 |
Re,
Essaye de désactiver la ligne ..AgentUtilisateur |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 5 messages |
|
Posté le 27 novembre 2018 - 15:29 |
Merci de ton aide … hélas c'est pareil ! J'ai regardé la doc sur le site api.siren et je n'ai rien trouvé la dessus. Sur quoi te bases tu ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 27 novembre 2018 - 16:09 |
J'ai simplement repris le code en l’état de Julien avec modification code + mot de passe et ça à fonctionner de suite. Moi j'ai un autre soucis, tout fonctionne sur le poste de développement mais pas sur le poste client, quand je renouvelle le Token, chaine vide en retour sans aucun message d'erreur pour trouver l'anomalie, j'ai envoyé un email a API Sirene. J'attends le retour de leur part.
Essaye de renouveler le token sur le site API Sirene et de refaire les essais en ayant un nouveau token |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 27 novembre 2018 - 16:11 |
Question stupide,
Ta clé et code secret sont bons ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 5 messages |
|
Posté le 27 novembre 2018 - 16:23 |
Bon bah j'ai fini par trouvé. L'encodage par défaut de mon projet est en unicode … en le passant en ANSI cela fonctionne. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 28 novembre 2018 - 08:43 |
Bonjour Cyril
Comme me disait toujours mon professeur et cela s'est toujours vérifier, cherche l'erreur le plus bête.
Regarde si ton code fonctionne avec le retour d'information sur les postes clients car de mon coté ça fonctionne a merveille sur le poste développement par retour token vide sans erreur. |
| |
| |
| | | |
|
| | |