|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
| Home → WINDEV 2025 → Comment récupérer le deltatoken d'une requête calendarview/delta ? |
| Comment récupérer le deltatoken d'une requête calendarview/delta ? |
| Started by NICOLAS LP, Nov., 10 2023 3:46 PM - 5 replies |
| |
| | | |
|
| |
Registered member 9 messages |
|
| Posted on November, 10 2023 - 3:46 PM |
Bonjour,
Je n'arrive pas à récupérer le odata.deltalink que je vois pourtant dans la réponse. Elle permet de ré-exécuter la requête avec les modifications réalisées entre temps seulement.
Procedure Evenements_LireSupprimes( pdhDebut est une DateHeure = DateSys()+"0000", pdhFin est une DateHeure = DateSys()+"2359"):booléen LOCAL vInfo est un Variant vTemp est un Variant sData est une chaîne oRequête est une httpRequête oRéponse est une httpRéponse
oRDV est un ST_OutlookEvenement sTemp est une chaîne ANSI
oRequête..URL = :sURL_QueryMe + "calendarview/delta?startdatetime="+DateVersChaîne(pdhDebut,"AAAA-MM-JJ")+"T08:30:00-01:00"+"&enddatetime="+DateVersChaîne(pdhFin,"AAAA-MM-JJ")+"T17:30:00-01:00" SI :oJetonJsonDelta <> Null ALORS oRequête..URL += "&$deltatoken="+:oJetonJsonDelta FIN oRequête..Entête["Authorization"] = "Bearer "+:oJetonJson.access_token oRequête..Méthode = httpGet oRequête..ContentType = "application/json"
oRéponse <- HTTPEnvoie(oRequête) SI PAS ErreurDétectée _ET_ oRéponse..CodeEtat = ::C_Evt_Lire_OK ALORS vInfo = JSONVersVariant(oRéponse..Contenu) sData = vInfo.@odata.deltaLink vTemp = sData :oJetonJsonDelta = VariantVersJSON(vTemp) TableauSupprimeTout(:taListeEvtDelta) POUR TOUT oEvenement de vInfo.value SI oEvenement.@removed ALORS VariableRAZ(oRDV) oRDV.sLibelle = oEvenement.subject oRDV.sDescription = oEvenement.body.content sTemp = oEvenement.start.datetime oRDV.dhDeb = :DateTimeToWindev(sTemp) sTemp = oEvenement.end.datetime oRDV.dhFin = :DateTimeToWindev(sTemp) oRDV.sEntryID = oEvenement.id oRDV.sGlobalAppointmentID = oEvenement.iCalUId oRDV.dhModif = oEvenement.lastModifiedDateTime TableauAjouteLigne(:taListeEvtDelta,oRDV) FIN FIN RENVOYER Vrai SINON RENVOYER Faux FIN
-- Nicolas LA PIETRA LSI |
| |
| |
| | | |
|
| | |
| |
Registered member 9 messages |
|
| Posted on November, 10 2023 - 4:26 PM |

-- Nicolas LA PIETRA LSI |
| |
| |
| | | |
|
| | |
| |
Registered member 1,002 messages |
|
| Posted on November, 10 2023 - 5:24 PM |
Bonjour,
essaye vInfo.'@odata'.deltaLink |
| |
| |
| | | |
|
| | |
| |
Registered member 4,361 messages |
|
| Posted on November, 10 2023 - 8:42 PM |
Bonjour, Pourquoi ne par utiliser la désérialisation. Cela simplifierai aussi le remplissage de ton champ table en le reliant à la variable STRésultat.Values
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 9 messages |
|
| Posted on November, 13 2023 - 11:21 AM |
Nadroj a écrit :
Bonjour,
essaye vInfo.'@odata'.deltaLink
MERCI j'arrive à le récupérer ainsi
sData = vInfo.'@odata.deltaLink'
Mais la requête ne me renvoie toujours pas les événements supprimés :
Procedure Evenements_LireSupprimes( pdhDebut est une DateHeure = DateSys()+"0000", pdhFin est une DateHeure = DateSys()+"2359"):booléen LOCAL vInfo est un Variant vTemp est un Variant sData est une chaîne oRequête est une httpRequête oRéponse est une httpRéponse
oRDV est un ST_OutlookEvenement sTemp est une chaîne ANSI
oRequête..URL = "https://graph.microsoft.com/v1.0/me/" + "calendarview/delta?"+ "startdatetime="+ :DateHeureToDateTime(pdhDebut) + "&enddatetime=" + :DateHeureToDateTime(pdhFin)
SI :oJetonJsonDelta <> Null ALORS sTemp = JSONVersChaîne(:oJetonJsonDelta) sTemp = Droite(sTemp,Taille(sTemp)-1) sTemp = Gauche(sTemp,Taille(sTemp)-1) oRequête..Entête["$deltatoken"] = sTemp FIN
oRequête..Entête["Authorization"] = "Bearer "+:oJetonJson.access_token oRequête..Méthode = httpGet oRequête..ContentType = "application/json"
oRéponse <- HTTPEnvoie(oRequête) SI PAS ErreurDétectée _ET_ oRéponse..CodeEtat = ::C_Evt_Lire_OK ALORS vInfo = JSONVersVariant(oRéponse..Contenu) sData = vInfo.'@odata.deltaLink' sData = Remplace(sData,"https://graph.microsoft.com/v1.0/me/calendarView/delta?$deltatoken=","") vTemp = sData :oJetonJsonDelta = VariantVersJSON(vTemp) TableauSupprimeTout(:taListeEvtDelta) POUR TOUT oEvenement de vInfo.value SI oEvenement.@removed = "deleted" ALORS VariableRAZ(oRDV) oRDV.sLibelle = oEvenement.subject oRDV.sDescription = oEvenement.body.content sTemp = oEvenement.start.datetime oRDV.dhDeb = :DateTimeToWindev(sTemp) sTemp = oEvenement.end.datetime oRDV.dhFin = :DateTimeToWindev(sTemp) oRDV.sEntryID = oEvenement.id oRDV.sGlobalAppointmentID = oEvenement.iCalUId oRDV.dhModif = oEvenement.lastModifiedDateTime TableauAjouteLigne(:taListeEvtDelta,oRDV) FIN FIN RENVOYER Vrai SINON RENVOYER Faux FIN
-- Nicolas LA PIETRA LSI |
| |
| |
| | | |
|
| | |
| |
Registered member 90 messages |
|
| Posted on November, 13 2023 - 2:23 PM |
Bonjour
Pour info vous pouvez aussi le récupérer ainsi , puisque la requête renvoie en fait un JSON
jInfo est JSON jInfo = oRéponse..Contenu Trace(jInfo["@odata.deltaLink"])
ou
sdeltalink est chaîne = "@odata.deltaLink" jInfo est JSON jInfo = oRéponse..Contenu Trace(jInfo[sdeltaLink])
WindèvementMessage modified, November, 13 2023 - 2:25 PM |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|