[OK] HTTPrequest API Deepl

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

[OK] HTTPrequest API Deepl

Message par Ar-S »

Salut,

Je me suis inscrit sur deepl car on peut utiliser l'API de traduction dans une version (limité) gratuite.
Je voudrais me faire un petit traducteur simple de bureau en PB.
J'obtiens un status : 0 :?

Voilà la syntaxe de l'API :

Code : Tout sélectionner

POST /v2/translate HTTP/2
Host: api-free.deepl.com
Authorization: DeepL-Auth-Key MA CLE
User-Agent: YourApp/1.2.3
Content-Length: 37
Content-Type: application/x-www-form-urlencoded

text=Hello%2C%20world!&target_lang=DE
Sachant que j'ai essayé avec l'host : https://api-free.deepl.com/v2/translate et l'host https://api-free.deepl.com
Sachant que j'ai essayé avec la clé : "DeepL-Auth-Key "+API$ et la clé API$

Code : Tout sélectionner

Global API$ = "MA CLE"
; En-têtes
NewMap Header$()
Header$("Authorization") = API$
;Header$("Authorization") = "DeepL-Auth-Key "+API$ 
Header$("Content-Type") = "application/x-www-form-urlencoded"
Header$("User-Agent") = "Firefox 54.0"

; A Traduire
DataZ$ = "text="+URLEncoder("Hello world!")+"&target_lang=FR"

; Envoi de la requête
HttpRequest = HTTPRequest(#PB_HTTP_Post, "https://api-free.deepl.com/v2/translate", DataZ$, #PB_HTTP_Asynchronous, Header$())

; Vérification de la requête
If HttpRequest
  Debug "Statut: " + HTTPInfo(HttpRequest, #PB_HTTP_StatusCode)
  Debug "Réponse: " + HTTPInfo(HttpRequest, #PB_HTTP_Response)

  FinishHTTP(HttpRequest)
Else
  Debug "La requête a échoué"
EndIf
[/code]
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
vurvur
Messages : 60
Inscription : ven. 29/août/2014 19:52

Re: HTTPrequest API Deepl

Message par vurvur »

Code : Tout sélectionner


API$ = "MA CLE"
Text$ = "Hola!"
LangFrom$ = "ES"
LangTo$ = "EN"

Post$ = "auth_key=" + API$ + "&text=" + Text$ + "&source_lang=" + langFrom$ + "&target_lang=" + langTo$

NewMap ZeroHeader$()

ENDPOINT$ = "https://api-free.deepl.com/v2/translate"

HttpRequest = HTTPRequest(#PB_HTTP_Post, ENDPOINT$, Post$, 0, ZeroHeader$())

Debug "Statut: " + HTTPInfo(HttpRequest, #PB_HTTP_StatusCode)
Debug "Réponse: " + HTTPInfo(HttpRequest, #PB_HTTP_Response)
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: HTTPrequest API Deepl

Message par Ar-S »

Ton code renvoie du erreur 403.
Je pense que s'ils mettent
POST /v2/translate HTTP/2
Host: api-free.deepl.com
Authorization: DeepL-Auth-Key MA CLE
User-Agent: YourApp/1.2.3
Content-Length: 37
Content-Type: application/x-www-form-urlencoded
text=Hello%2C%20world!&target_lang=DE
Comme exemple c'est que le header est nécessaire.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
vurvur
Messages : 60
Inscription : ven. 29/août/2014 19:52

Re: HTTPrequest API Deepl

Message par vurvur »

Ar-S a écrit : mer. 19/avr./2023 16:48 Ton code renvoie du erreur 403.
Non ça fonctionne nickel sans headers, je viens encore de tester (il faut juste mettre une bonne clé API évidemment)

Ca me donne ceci en retour:

Code : Tout sélectionner

Statut: 200
Réponse: {"translations":[{"detected_source_language":"ES","text":"Hello!"}]}
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: HTTPrequest API Deepl

Message par Ar-S »

Oh ba oui effectivement. Je ne sais pas pourquoi ça a queuté à mon 1er test.
Merci c'est top.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre