Pour une raison quelconque, les fils n'ont jamais correctement traversé cela; étant donné que vous pouvez importer XML vers Excel directement à partir d'une URL, il n'est pas nécessaire d'utiliser WINHTTP pour effectuer de simples requêtes de service Web REST.
J'ai commencé à utiliser la technique après avoir consulté le code Amazon Web Services qui utilise WinHTTP, mais ce n'est pas nécessaire pour demander uniquement le XML à partir d'un service Web.
Preuve de concept : voici un exemple simple d'utilisation de l'API Yahoo News Search pour obtenir les dernières nouvelles de Yahoo sur « Dan Plutôt » dans Excel. Cela nécessite une version d'Excel prenant en charge XML :
1. Mettez en surbrillance puis copiez cette URL :
http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=Dan+Rather&results=10
2. Dans Excel, allez dans Données->XML->Importer
3. Dans la zone Nom de fichier, utilisez le raccourci Coller (CTRL-V) pour entrer l'URL que vous venez de copier et appuyez sur Entrée.
4. Excel vous demandera la cellule pour répertorier les résultats de Yahoo News
Nous avons donc réussi à utiliser un service Web Yahoo Rest pour obtenir des données dans Excel, sans WINHTTP. Gardez à l'esprit qu'il s'agit d'un exemple simple. Pour l'expliquer, ajoutez une carte au classeur et utilisez XMLMaps.import au lieu des exemples WINHTTP que j'ai utilisés.
Quand utiliserais-je actuellement WINHTTP avec les services Web REST ? Ma meilleure estimation jusqu'à présent:
1. Lorsque la connexion est requise pour le service. Dans quel cas je dois utiliser SetCredentials
2. Lorsque je ne veux pas importer les données XML dans une carte XML, je veux plutôt les données brutes. Par exemple, je souhaite manipuler les données avant de les écrire dans une feuille de calcul ou éventuellement naviguer dans le XML et choisir les données à afficher en fonction de critères personnalisés.
Enfin, XMLMAPS.Import et WINHTTP fonctionnent tous les deux pour consommer des services Web REST, mais ce dernier nécessite quelques lignes de code supplémentaires. Je continuerai à trébucher avec les services Web jusqu'à ce que je l'apprenne (et bien sûr : faites-le correctement). Je me demande si quelqu'un d'autre a des exemples REST utilisant Excel?