Wie nutze ich die XOVI-API in Google Tabellen und Microsoft Excel?

Julia Pritzen
Julia Pritzen | 09.05.2016

Die XOVI API (Application Programming Interface) ist unsere Programmierschnittstelle, über die Sie schnell und gezielt Daten aus dem XOVI Tool abrufen können. Sie dient dazu, unsere Daten in anderen Anwendungen zu nutzen und weiterzuverarbeiten.

Eine Möglichkeit ist der Import der Daten in Tabellenkalkulationsprogrammen wie z.B. Microsoft Excel oder Google Tabellen. Wie das geht, möchten wir Ihnen in diesem Artikel einmal näherbringen.

API-Abfrage und XPath ermitteln

Voraussetzung zum Datenimport in beide Tabellenkalkulationsprogramme ist eine API-Abfrage und ein entsprechender XPath. Die API-Abfrage ruft die gewünschten Daten ab – mit einem XPath adressieren Sie anschließend genau das Element der gelieferten Daten, das ausgelesen und dessen Inhalt in Ihre Tabelle importiert werden soll.

Im 1. Schritt stellen Sie die API-Abfrage zusammen. Eine Liste unserer Api-Methoden finden Sie in der XOVI API-Referenz. Im Beispiel werden mit der Methode monitor/getKeywords die angelegten Monitoring Keywords zu einer Domain abgerufen:

https://suite.xovi.net/api/monitor/getKeywords/APIKEY/xml/1000/0/NULL/www.domain.de

Bitte ersetzen Sie „APIKEY“ durch Ihren persönlichen Code. Ihren API-Key finden Sie im XOVI-Tool in Ihrem API-Dashboard. „www.domain.de“ ersetzen Sie bitte mit der Domain, dessen Monitoring Keywords Sie abrufen möchten. Beachten Sie außerdem, dass Sie in Ihrer Abfrage das Format XML angeben.

Im 2. Schritt ermitteln Sie nun den Xpath. XML Path ist eine Sprache, die es ermöglicht gezielt auf Teile eines XML-Dokumentes zu zeigen. Der Xpath, der für die Funktion benötigt wird, adressiert somit das Element, aus dem Sie die Daten in die Tabelle laden möchten.

Rufen Sie einmal den API-Call im Browser auf und betrachten Sie sich die XML-Struktur. Sie sehen, dass diese wie eine verschachtelte Liste aufgeteilt ist. Sie können sich diese Liste wie einen Baum vorstellen, der von der Wurzel (Hauptpunkt) ausgeht und sich in verschiedene Äste und Zweige (Unterpunkte) aufteilt. Der Xpath im Beispiel bezieht sich auf das Element . Nun gilt es die Struktur dieses Elements im Baum bis zur Wurzel hin zurückzuverfolgen:

<result>
<apiResult>
<dailykeywords>
<dailykeyword>

API XML Beispiel

Diese Struktur geben sie nun als Pfad wieder und erhalten somit einen XPath. Beginnen und trennen Sie alle erforderlichen Elemente mit einem Slash:

/result/apiResult/dailykeywords/dailykeyword

Da das Element „dailykeyword“ einzigartig in der Struktur des XML-Dokumentes ist, lässt sich der Xpath folgendermaßen abkürzen:

//dailykeyword

Achten Sie auf die korrekte Groß- und Kleinschreibung der Bezeichnungen (case sensitivity).

Jetzt haben Sie alle Informationen, die Sie brauchen, um die Import-Funktion in einem Tabellenkalkulationsprogramm zu nutzen:

API-Abfrage
https://suite.xovi.net/api/monitor/getKeywords/APIKEY/xml/1000/0/NULL/www.domain.de
XPath: //dailykeyword

Daten aus der XOVI-API in Google Tabellen importieren

Google Tabellen ist eine Web-Applikation zur Tabellenkalkulation, die über Google Drive verfügbar ist. Der Vorteil dieses Services von Google ist, dass er kostenlos und ortsunabhängig über die Weboberfläche genutzt werden kann und somit die Zusammenarbeit mit Kollegen erleichtert.

Öffnen Sie zunächst ein neues Tabellendokument, indem Sie https://docs.google.com/spreadsheets aufrufen und in der unteren rechten Ecke auf den roten Kreis mit dem Plus-Symbol klicken.

Mit Hilfe der Funktion IMPORTXML können Sie die Daten aus einer API-Abfrage importieren. Die Syntax der Funktion lautet:

IMPORTXML(URL; XPath)

Als „URL“ geben Sie hier Ihre API-Abfrage und als „Xpath_Abfrage“ Ihren ermittelten XPath ein.

Klicken Sie nun in Ihrer Google Tabelle in das Feld, das Ihr „Startfeld“ für die zu importierenden Daten werden soll – ausgehend von diesem Feld werden die Daten in die Tabelle geladen werden. Geben Sie hier Ihre Funktion mit vorangestelltem Gleichheitszeichen ein:

=IMPORTXML("https://suite.xovi.net/api/monitor/getKeywords/API-Key/xml/1000/0/NULL/www.domain.de"; "//dailykeyword")

Google Spreadsheet ImportXML

Die Daten werden nun über die XOVI-API abgerufen und in die Tabelle geladen. Wenn Sie sich an das XML-Dokument erinnern, erkennen Sie, dass jedes -Element in einer Zeile und dessen Unter-Elemente jeweils in einer eigenen Spalte dargestellt werden.

Google Spreadsheet Ergebnis

Wichtig: Sollte es zu Problemen bei der Abfrage in Google Tabellen kommen, versuchen Sie es einmal mit dem vollständigen XPath anstatt mit der Abkürzung.

Daten aus der XOVI-API in Microsoft Excel importieren

Microsoft Excel ist das weltweit meistgenutzte Tabellenkalkulationsprogramm. Durch die hohe Verbreitung wird das Standard-Dateiformat (XLS bzw. XLSX) auch von den meisten anderen Softwares zur Tabellenkalkulation unterstützt. Seit 2014 kann man Excel auch auf mobilen Endgeräten nutzen.

Die Excel-Funktionen WEBDIENST() und FILTERXML()

Hinweis: Diese Funktionen stehen ab Excel 2013 zur Verfügung

Um die Daten aus XOVI in eine Excel-Tabelle zu importieren, stehen Ihnen die beiden Excel-eigenen Funktionen WEBDIENST() und XMLFILTERN() zur Verfügung. Der Import in Excel ist etwas aufwändiger als in Google Tabellen und geschieht in mehreren Schritten.

Zunächst laden Sie sich den Inhalt der API-Abfrage mit Hilfe der WEBDIENST-Funktion in Ihre Tabelle. Die Syntax der Funktion lautet:

WEBDIENST(URL)

Als URL geben Sie Ihre API-Abfrage ein. Klicken Sie in ein Feld, in das der XML-Inhalt geladen werden soll, und geben Sie die Funktion dort mit vorangestelltem Gleichheitszeichen ein:

=WEBDIENST(„https://suite.xovi.net/api/monitor/getKeywords/API-Key/xml/1000/0/NULL/www.domain.de“)

Excel API Call

Nun werden die Daten der API-Abfrage als XML in das Feld geladen. Dieser XML-String ist nun Ihre Datengrundlage – Sie laden ihn sich einmal in ein Feld hinein, um die Abfrage nicht in jedem Zwischenschritt erneut durchzuführen. Somit halten Sie den Verbrauch Ihrer API-Credits gering.

Im nächsten Schritt werden Sie die XML-Daten nun verarbeiten – dazu nutzen Sie die Funktion FILTERXML. Die Syntax lautet folgendermaßen:

XMLFILTERN(XML, XPath)

In dieser Funktion müssen Sie nun XML-Daten sowie den XPath zur Adressierung des auszulesenden Elements angeben. Die XML-Daten laden Sie direkt aus dem Tabellenfeld, in dem Sie zuvor die API-Abfrage mit der Funktion WEBDIENST() geladen haben.

Excel FilterXML

Was den XPath angeht, so müssen Sie jetzt jedoch noch einmal eine Ebene tiefer gehen. In Google Tabellen war es möglich alle Elemente des Ober-Elements auszulesen – Excel möchte von Ihnen jedoch ganz genau die Unter-Elemente wissen, aus dem die Daten extrahiert werden sollen.

Wenn Sie sich den XML-Baum noch einmal anschauen, so sehen Sie, welche Unter-Elemente besitzt:

<result>
<apiResult>
<dailykeywords>
<dailykeyword>
<keyword>
<keywordInserted>
<domain>
<sengineId>

Für Ihr Vorhaben benötigen Sie jetzt für jedes Unter-Element, das Sie auslesen möchten, einen eigenen XPath. Die Elemente werden wieder mit einem Slash getrennt nebeneinander in einen Pfad geschrieben. Der XPath für das Unter-Element lautet demnach:

result/apiResult/dailykeywords/dailykeyword/keyword

Klicken Sie nun in das Feld, in das die verarbeiteten Daten des Elements importiert werden sollen, und geben Sie die angepasste Funktion wieder mit vorangestelltem Gleichheitszeichen ein:

=XMLFILTERN(Tabellenfeld, „result/apiResult/dailykeywords/dailykeyword/keyword“)

Bitte ersetzen Sie Tabellenfeld mit der entsprechenden Angabe zu dem Feld, in das Sie den Inhalt der API-Abfrage mit der Funktion WEBDIENST() geladen haben (z.B. A1).

Sie sehen nun, dass ein Keyword in die Zelle geladen wurde, in die Sie die Formel geschrieben haben. Da Sie jedoch nicht nur eins, sondern alle Keywords aus dem XML-String extrahieren möchten, müssen Sie Excel nun klarmachen, dass es sich um ein Ergebnis-Array handelt.

Klicken Sie dazu auf die Zelle, die die Formel beinhaltet, und ziehen Sie diese nun so viele Zellen nach unten, wie abgerufene Keywords existieren. Diese Genauigkeit ist notwendig, da Excel ganz genau wissen muss, wie groß das Array ist. Nachdem Sie die Markierung erweitert haben, drücken sie F2, um in den Formel-Modus zu wechseln. Anschließend bestätigen Sie das Array mit der Tastenkombination STRG + SHIFT + ENTER. Wie Sie sehen, wurden nun alle Keywords aus Ihrem API-Call untereinander in die Tabelle eingefügt.

Excel Array speichern

Diesen Vorgang müssen Sie nun mit allen Elementen wiederholen, die Sie gerne in Ihrer Tabelle angezeigt haben möchten. Zur Erleichterung haben wir Ihnen einmal ein Dokument zusammengestellt, das ein paar wichtige Daten der täglichen Keywordabfrage abbildet. Weitere Erklärungen dazu finden Sie direkt im Dokument.

Excel Array anzeigen

Sie haben es geschafft!

Die Daten wurden nun erfolgreich in Ihre Tabelle importiert. Zum Schluss können Sie Ihre Tabelle noch nach Ihren Wünschen formatieren. Sie können z.B. eine Titelzeile mit den entsprechenden Spaltenbeschriftungen hinzufügen oder die Crawl-Veränderungen entsprechend einfärben.

Wie aktualisiere ich die Daten?

Google Tabellen: Die Funktion IMPORTXML() ruft die Daten ca. alle 2 Stunden automatisch ab. Rufen Sie das Dokument beispielsweise einmal täglich auf, so sind die Daten stets aktuell.

Microsoft Excel: Hier müssen Sie die Aktualisierung manuell anstoßen. Das tun Sie, indem Sie die gesamte Arbeitsmappe mit der Tastenkombination STRG + ALT + F9 aktualisieren.

Excel Beispiel-Datei herunterladen