Salut
J'utilise un code VBA à base d'ADODB, qui me permet de mettre à jour des listes sharepoint (SP).
Je souhaiterais élargir le champs des possibles en utilisant directement SOAP.
J'ai essayé de moultes façons, j'ai écumé un peu tous les codes.
Le problème c'est que mon organisation n'utilise pas les client/secret et ne répond pas aux demandes de token. J'ai réussi à faire les enchainements de requêtes http nécessaires mais un vilain message m'a expliqué que les règles de mon organisation ne permettaient pas de passer par là... (Pourtant j'en ai sué pour y arriver... bref).
Au début de mes expérimentations de SOAP, j'avais des périodes où les requêtes passaient et d'autre fois non... sans que je comprenne les actions que je faisais et qui faisaient que ça fonctionnait pendant quelques heures/jours, avant de planter de nouveau, en me signalant des erreurs d'authentification. J'ai fini par découvrir que SOAP passait par une authentification NTLM et que les cookies étaient stockés dans IE/Edge (c'est un peu floue). J'ai fini par lire sur un site de M$, que ce système était plutôt instable... Pour le moins oui.
Quand j'ai des erreurs d'authentification, les requêtes me retournent la page html d'authentification. Le but serait alors d'afficher cette page, pour que l'utilisateur s'authentifie et pouvoir récupérer le cookie-graal...
J'ai tenté Chromium VBA et Webedgeservcie mais je n'ai pas réussi à les implémenter pour faire ça.... Je vais peut-être retenter...
J'ai donc essayé d'identifier mes requêtes à l'aide des cookies FedAuth et rtFA (récupéré à la main en espionnant le contenu des requêtes émissent sur l'interface de Sharepoint). Ca fonctionne... Par contre, j'ai abandonné l'idée de récupérer les dit cookies de façon automatique (que ce soit dans la jar par powershell, script python ou via des demandes http sur les serveurs d'authentification). Si quelqu'un à une solution, je prends.
J'ai aussi tenté, à l'aide de Fiddler, d'espionner ce que faisait ADODB... et oh surprise, ça passe par SOAP! et avec un cookie différent SPOIDCRL! J'ai donc encore passé des heures/jours à essayer de récupérer celui là... mais rien non plus.
En fait, quand mes requêtes SOAP passent ou quand j'utilise ADODB, les requêtes semblent utiliser mon authentification locale, c'est ça que je voudrais obtenir.
J'ai tenté les codes proposant d'utiliser
Ce qui est sensé utiliser les crédentials déjà actifs sur la session windows.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MSXMLRequest.SetAutoLogonPolicy AutoLogonPolicy_Always
D'ailleurs ici, je me pose une question. j'ai mon login et MdP windows mais s'agissant de l'authentification pour aller sur Office, il me faut utiliser adresse mail et MdP, est-ce que c'est ce qui m'empêcherais de pour voir utiliser cette méthode?
Est-ce que quelqu'un utilise actuellement un code en VBA (ou approchant) qui permet d'identifier les requêtes SOAP auprès de Sharepoint (le mieux en utilisant l'authentification locale, sans avoir à fournir login/MdP)?
J'avoue que je désespère un peu.
Je vous remercie d'avance pour les infos et vous souhaite une bonne soirée
++
Qwaz
Partager