Der Webdienst tumblr bietet eine einfache API bei der man über eine URL auf ein XML-Datei mit einfachen Statistik Daten zugreifen kann.
Hier Infos zur API:
https://www.tumblr.com/docs/en/api/v1
Hier ein Beispiel:
https://demo.tumblr.com/api/read
Beim ersten Aufruf über den Brower muss man allerdings einen "Annehmen"-Button drücken.
Ich möchte die XML-Daten per C# einlesen und weiter verarbeiten. Mein bisheriger Ansatz ist leider nicht von Erfolg gekrönt. Auch beim zweiten Aufruf kommt nur der HTML-Code zurück, nicht der XML-Code. Scheinbar funktioniert das Klicken des Button nicht korrekt.
Spreche ich den Button falsch an?
string strURL = "https://demo.tumblr.com";
WebClient wClient = new WebClient();
wClient.Headers["Content-type"] = "text/xml";
wClient.Encoding = Encoding.UTF8;
wClient.BaseAddress = strURL;
string strData = wClient.DownloadString("/api/read");
if (strData.StartsWith("<!DOCTYPE html>"))
{
var nvcAgree = new System.Collections.Specialized.NameValueCollection
{
{"btn yes", "agree" }
};
strData = Encoding.UTF8.GetString(wClient.UploadValues("/api/read", nvcAgree));
this.textBox1.Text = strData;
}
Du musst bei deiner Anfrage die benötigten Cookies setzen.
Werde Dir nur grob helfen, weil Du gegen die Tumblr AGB verstößt:
Hups, da war mittlerweile jemand schneller 😃
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Das mit den Cookies hört sich plausibel an - werde mal schauen, ob ich irgendwo herausbekomme, wie das geht.
Warum ich gegen die AGB verstosse, wenn ich deren API nutze um Daten meines Blogs herunterzuladen verstehe ich aber nicht ...
Bitte keine Full Quotes [Hinweis] Wie poste ich richtig?
Warum ich gegen die AGB verstosse, wenn ich deren API nutze um Daten meines Blogs herunterzuladen verstehe ich aber nicht ...
Weil Tumblr laut AGB den automatisierten Zugriff einzig und allein auf die API-Schnittstellen erlaubt, wie viele andere Webseiten auch.
Die von Dir angezeigte Webseite (mit dem Cookie) gehört nicht dazu.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hmmm ... also ist das was tumblr selber hier schreiben veraltet, bzw. die API Version 1 darf nicht mehr verwendet werden?
https://www.tumblr.com/docs/en/api/v1
Erneut: bitte keine Full Quotes.
[Hinweis] Wie poste ich richtig?
Die aktuelle API Version von Tumblr ist V2; Du verlinkst auf V1.
Evtl. ist das mit dem Cookie in V1 auch by design. I dont know.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Genau. Ich hatte in einem Entwicklerforum von tumblr gelesen, dass die V1 nicht weiterentwickelt wird und die Funktionen, für die man sich authentifizieren muss (Posten, Antworten, ...) aus Version 1 nicht mehr funktionieren. Die Funktionen, für die man sich NICHT anmelden muss bleiben bestehen. Das war jedenfalls die Aussage eines Beitrags aus 2012 oder 2013.
V2 ist aktuell. Weil mir die V1 aber ausreicht und im ersten Moment nicht so aufwändig erscheint (bin ein bisschen eingerostet, was das Coding angeht) dachte ich, ich starte mal damit und schwenke später vielleicht zu V2 um ...
Jo, dann verwende sie einfach, solange sie noch existiert 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code