Ich weiß nicht viel über API, in der Tat fast nichts. Ich habe Google POSTMAN verwendet, um eine POST-Anfrage zu stellen, um einige Daten aus Adaptive Insights zu extrahieren. Was ich tun möchte, ist den Aufruf von Excel VBA auszuführen und ein Excel-Blatt zu aktualisieren, wenn ich auf Knopfdruck brauche. HierAPI-Aufruf von VBA
ist der Ausschnitt aus POSTMAN:
POST /api/v13 HTTP/1.1
Host: api.adaptiveinsights.com
Authorization: Basic ZmlubWdyX3NhbGVzQHN0ZW1jZWxsLmNvbTpBZGFwdGl2ZTE=
Content-Type: application/xml
cache -Control: no -cache
Postman-Token: 650bd3ad-82e9-aa33-ae77-ee4d89ff0fd8
<?xml version='1.0' encoding='UTF-8'?>
<call method="exportData" callerName="Export.xlsx">
<credentials login="******@****.com" password="*****"/>
<version name="FY2017-November V2" isDefault="false"/>
<format useInternalCodes="true" includeUnmappedItems="false"/>
<filters>
<timeSpan start="Jan-2017" end="Feb-2017"/></filters>
<rules includeZeroRows="false" includeRollups="true" markInvalidValues="false" markBlanks="false"
timeRollups="single">
</rules>
</call>
Hier ist die Ausgabe von POSTMAN
<?xml version="1.0" encoding="UTF-8"?>
<response success="true">
<output><![CDATA[Account Name,Account Code,Level Name,Rollup
.......................................................
ich ein gutes Stück tat googeln, und das ist, was ich bisher für meine Makro haben:
myURL = "https://api.adaptiveinsights.com/api/v13"
xmlHTTP.Open "POST", myURL, False
xmlHTTP.SetCredentials "****@****.com", "*****", HTTPREQUEST_SETCREDENTIALS_FOR_SERVER
xmlHTTP.SetRequestHeader "Content-Type", "application/xml"
xmlHTTP.Send
Set xmlResult = New MSXML2.DOMDocument
xmlResult.LoadXML xmlHTTP.ResponseText
Meine Fragen sind:
Wie verbinde ich mich mit diesem spezifischen Datensatz - "FY2017-November V2" mit timeSpan start = "Jan-2017" end = "Feb-2017".
Wie lade ich die Daten in Excel, im Wesentlichen in VBA, was ich in POSTMAN getan habe?
Die Daten sieht wie folgt aus:
Es gibt vier Felder - 3 Text und ein numerisches (Kontoname, Kontocode, Level Name, Rollup):
"6020 Mitarbeiter profitieren", 6020, "Accounting-Corp", 20.3252
Würde ich wirklich jede Hilfe zu schätzen wissen.
Danke
Valglad
Also, ist das Rückgabeformat Xml? Entweder können Sie mit der MSXML2-Bibliothek (auf die Sie bereits verwiesen haben) in den Xml mit VBA-Code bohren. Oder Sie experimentieren mit der Excel-Benutzeroberfläche und verwenden den Makro-Rekorder, um Beispielcode zu sehen. Ich weiß für eine Tatsache, dass Excel viele Dinge tun kann, wenn Sie versuchen, eine XML-Datei zu öffnen (es ist nur ich gehe nie diesen Pfad). –
Es ist nicht klar aus Ihrer Frage, was das genaue Problem ist: Holen Sie die Ergebnisse von der API-Aufruf oder Parsen der zurückgegebenen Daten? Wenn Letzteres dann würde es helfen, mehr von der API-Ausgabe als das kleine Snippet anzuzeigen, das Sie einschlossen. Sieht wie eine Tabelle von Daten aus, die im Format "csv" (in einem CDATA-Abschnitt) ausgedrückt werden. Daher können Sie keine Standard-XML-Methoden zum Auslesen der einzelnen Datenpunkte verwenden. Zeigen Sie mehr davon, wenn Sie Hilfe benötigen. –
Bitte * bearbeiten Sie Ihre Frage *, um die Beispieldaten hinzuzufügen –