PROFESSIONAL NEWSGROUPS
WINDEV
,
WEBDEV
and
WINDEV Mobile
Home
|
Recent messages
|
Connect
|
Sign out
|
English
Home
→
WEBDEV 2024
→
API LinkedIn: Récupérer le code dans l'adresse de la page
API LinkedIn: Récupérer le code dans l'adresse de la page
Started by BENOIT MIRAMBEAU, Nov., 18 2024 3:21 PM - 3 replies
Connect yourself…
BENOIT MIRAMBEAU
#1
Registered member
11 messages
Posted on November, 18 2024 - 3:21 PM
Bonjour,
Je dois me connecter à l'API de LinkedIn et pour cela la 1ère étape est de récupérer le code d'authentification qui permet ensuite de récupérer le token.
Je reçois bien le code d'authentification dans l'adresse de la page de retour de la façon suivante :
https://Site.com/SITE_WEB/FR/Page-Code-OAuth.awp…
Malheureusement je ne peux pas extraire ce code de l'adresse pour l'affecter à ma variable.
En effet PageParamètre(1) ne renvoie rien dans ce cas.
Auriez-vous une solution ?
Merci,
Benoît
--
Merci pour votre aide
Benoît
Report
0
0
brunomars
#2
Registered member
1 message
Posted on November, 18 2024 - 4:49 PM
I think you should use this kind of API as I have used on one of my website that you can see here:
https://srd-sassa-gov.co.za/
Report
0
0
stef1811
#3
Registered member
507 messages
Posted on November, 19 2024 - 6:08 PM
BENOIT MIRAMBEAU a écrit :
En effet PageParamètre(1) ne renvoie rien dans ce cas.
Avec ton url c'est PageParamètre(2) qu'il faudrait utiliser
Message modified, November, 19 2024 - 6:09 PM
Report
0
0
BENOIT MIRAMBEAU
#4
Registered member
11 messages
Posted on November, 20 2024 - 11:18 AM
Merci pour ta réponse,
Finalement j'ai utilisé ce code qui fonctionne très bien :
s
Paramètres
est une chaîne
s
URLEnCours
est une chaîne
n
Indice
est un entier
=
1
// Construit la liste des paramètres reçus
TANTQUE
PageParamètre
(
n
Indice
) <
>
""
s
Paramètres
+
= [
"&"
] +
PageParamètre
(
n
Indice
)
n
Indice
+
+
FIN
// Construit l'URL de la page en cours
s
URLEnCours
=
PageAdresse
(
MaPage
,
paComplète
) + [
"?"
] +
s
Paramètres
//info(sURLEnCours)
SAI_
Code_OAuth
=
s
URLEnCours
//ExtraitChaîne(sURLEnCours,1,"?P1=&code=")
//SAI_Code_OAuth1
= ExtraitChaîne(SAI_Code_OAuth,2,"P1=",DepuisDébut)
SAI_
Code_OAuth2
=
ExtraitChaîne
(
SAI_
Code_OAuth
,
2
,
"?code="
,
DepuisDébut
)
Maintenant je reçois bien le Token mais par contre j'ai un souci pour publier le texte sur LinkedIn.
Que penses-tu du code que j'utilise et aurais-tu une solution, l'erreur renvoyée est la suivante :
Erreur lors de la publication : 422 - {"message":"ERROR :: /author :: \"urn:li:person:xxxxxxx\" does not match urn:li:company:\\d+|urn:li:member:\\d+\n","status":422}
// Paramètres d'accès et URL
ACCÈS_TOKEN
est une chaîne
=
SAI_
Token
URL_API
est une chaîne
=
"https://api.linkedin.com/v2/ugcPosts"
IDClient
est une chaîne
=
"xxxxxxxxxx"
//ID de ma page linkedin perso
// Corps de la demande pour créer un partage de texte
oRequete
est un
Variant
oRequete
=
JSONVersVariant
(
"{}"
)
oRequete.author
=
"urn:li:member:"
+
IDClient
// Assurez-vous que c'est le bon format et l'ID correct
//oRequete.author
= "urn:li:person:" + IDClient
oRequete.lifecycleState
=
"PUBLISHED"
// Contenu spécifique du partage
shareContent
est un
Variant
shareContent
=
JSONVersVariant
(
"{}"
)
shareContent.shareCommentary
=
JSONVersVariant
(
"{}"
)
shareContent.shareCommentary.text
=
"Ceci est un beau village de France"
shareContent.shareMediaCategory
=
"NONE"
// Correctement défini sans conversion en JSON
// Ajouter le contenu spécifique à la requête
oRequete.specificContent
=
JSONVersVariant
(
"{}"
)
oRequete.specificContent
[
"com.linkedin.ugc.ShareContent"
]
=
shareContent
// Définir la visibilité du post
oRequete.visibility
=
JSONVersVariant
(
"{}"
)
oRequete.visibility
[
"com.linkedin.ugc.MemberNetworkVisibility"
]
=
"PUBLIC"
// Conversion de l'objet JSON en texte JSON
s
RequeteJSON
est une chaîne
=
VariantVersJSON
(
oRequete
)
// Création de la requête HTTP
maRequête
est un httpRequête
maRequête
..
URL
=
URL_API
maRequête
..
Méthode
=
httpPost
maRequête
..
ContentType
=
"application/json"
maRequête
..
Entête
[
"Authorization"
]
=
"Bearer "
+
ACCÈS_TOKEN
maRequête
..
Entête
[
"X-Restli-Protocol-Version"
]
=
"2.0.0"
maRequête
..
Contenu
=
s
RequeteJSON
maRequête
..
Timeout
=
20000
// Ajout d'un délai de timeout de 20 secondes
// Envoi de la requête et réception de la réponse
maRéponse
est un httpRéponse
=
HTTPEnvoie
(
maRequête
)
SI
maRéponse
..
StatusCode
=
201
ALORS
Info
(
"Publication réussie !"
)
SINON
Info
(
"Erreur lors de la publication : "
+
maRéponse
..
StatusCode
+
" - "
+
maRéponse
..
Contenu
)
SAI_
JOURNAL
=
maRéponse
..
StatusCode
+
maRéponse
..
Contenu
FIN
--
Merci pour votre aide
Benoît
Report
0
0
→ Go back to WEBDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WINDEV (earlier versions)
WEBDEV (earlier versions)
WEBDEV (earlier versions)
WINDEV Mobile (earlier versions)
WINDEV Mobile (earlier versions)
Reports & Queries
Reports & Queries
Off-topic
Off-topic
Tools
Tools
Français
English
Español
Portuguesa
Close this window
Search type
Only topics
All the messages
Search period
Any time
Past hour
Past 24 hours
Past week
Past month
Past year
Cancel
Preview of your message
Adding an image
Import an image from a URL
Send an image from a file of your disk
Drop a file or click "Browse..."
or
Cancel
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Text