Twitter API benutzen, was beachten?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfragen
anfrage
atom
ausprobieren
code
dank
datum
dienst
http
leute
nachricht
nutzen
sekunde
server
silvester
stunde
teilen
url
zugang
zugriff
-
Heyho
Ich arbeite das erste mal mit APIs eines größeren, für mich externen Dienstes, unzwar Twitter. Ist nichts aufregendes, ich lese RSS-feeds von User ein, validiere sie, bzw schreibe sie ein bisschen um, und serve sie dann weiter an die anfordernden Clienten. Soweit sogut so einfach, das ganze funktioniert schon und ist auch praktisch. Aber ich möchte das jetzt halt zur Verfügung stellen, nur bin ich grad ein wenig verunsichert: Darf ich die RSS API einfach so nutzen in meinem Projekt? Muss ich das bei Twitter melden? Oder ist das einfach eine OpenAPI, die ich nutzen darf, wie ich will.
Ganz grob was ich mache: Ich lasse den RSS Feed von meinem Server abfragen, bearbeite ihn nach indem ich gewisse Dinge rausschneide und andere hinzufüge. Ich ersetze die Redirects durch eigene, damit auch die von meinem Server abgewickelt werden. Das ganze dient dazu, dass auch der Google Reader die TwitterRSS lesen kann, um das ganze ein biscchen zu komprimieren, damit auch "nicht so Computer Kenner" ganz einfach an einen solchen Feed kommen, und damit die Anfragen anonymisiert werden können für Leute, die gerne Nachrichten von Twitter lesen würden, aber Twitter nicht trauen, weil es schlimmer ist als Facebook in Sachen Datenweitergabe. Und für mich persönlich, weil ich keinen Bock auf einen Twitter Account habe, aber gern die Nachrichten aufn Ticker (RSS) lesen würde
(ACHTUNG: Die Topic ist, ob die API ohne bedenken genutzt werden kann!!! Es ist NICHT, ich wiederhole: NICHT die Topic, ob/dass/was Twitter an Daten durch die Welt schießt).
Freue mich über ein bisschen Versicherung/Aufklärung.
Liebe Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo
eigentlich ist es ganz einfach mit RSS von Twitter
BSP: http://twitter.com/statuses/user_timeline/limacity.rss
das ist keine API, sondern einfach RSS, und das musst Du wohl auch einfach so nutzen können
genauso die Suche bei Twitter als RSS (oder Atom oder Json)
BSP: http://search.twitter.com/search.rss?q=silvester&lang=de
BSP: http://search.twitter.com/search.atom?q=silvester&lang=de
BSP: http://search.twitter.com/search.json?q=silvester&lang=de
also Vieles geht auch ohne API (ohne eigene Twitter Application)
aber mit geht natürlich mehr, auch mehr Abfragen pro Stunde
siehe: https://api.twitter.com/1/account/rate_limit_status.json
die gesamte Doku der API siehe: https://dev.twitter.com/docs/api
zur Nutzung der API mit eigener Application braucht man einen Twitter Account,
dann bei dev.twitter.com anmelden (login) und eine eigene App erstellen
Zugang zur App bekommt man am einfachsten mit einer PHP-Klasse
die auth und Abfragen handelnkann ... z.B. https://github.com/abraham/twitteroauth
oder andere ... siehe https://dev.twitter.com/docs/twitter-libraries#php
also Du kannst die Twitter API auch ohne eigene App nutzen, aber halt eingeschränkt.
mit kannst Du halt etwas mehr machen, ist die Frage ob man es auch braucht.
einfach ausprobieren, welche Abfragen auch ohne eigener App (oAuth) funktionieren
ob damit alles funktioniert, was Du machen willst, sonst halt doch eigene App starten
-
Ja, ich rufe nur das RSS ab. Meine Applikation läuft, für mich als Test, nur würd ich es halt gern mit anderen teilen, Egoismus ist nicht so meins.
Weißt du zufällig, wie viele RSS Zugriffe pro Stunde erlaubt sind? Ich finde dazu nichts. Nicht, dass ich mir den Dienst nachher mit 100 leuten teile, und dabei dann 200 Zugriffe pro Stunde entstehen, dass wir dann auf einmal keine Aktualisierung mehr haben.
Aber es ist schön, so eine umfangreiche Einführung zu haben :) Vielen dank!
Liebe Grüße -
Hallo
ohne API hast Du 150 Anfragen pro Stunde
mit REST API Zugang (oAuth) sind es 350 Anfragen pro Stunde
gezählt werden Anfragen pro IP, also wenn das als Script läuft, dann die Server IP
siehe: https://dev.twitter.com/docs/rate-limiting
aber Du musst ja vielleicht nicht für jeden User eine Anfrage neu machen,
sondern kannst ja die RSS auch cachen !!!!
<?php // ------------------------------------------------ function updateCache($source, $cachefile, $cachetime) { if (!file_exists($cachefile)) { copy($source, $cachefile); $out = 'neu'; } else { $old_datum = filemtime($cachefile); $new_datum = time(); $dif_datum = ($new_datum - $cachetime); if ($old_datum < $dif_datum) { unlink($cachefile); copy($source, $cachefile); $out = 'update'; } else { $out = 'old'; } } return $out; } // ------------------------------------------------ $twitter_user = 'limacity'; $quelle_url = 'http://twitter.com/statuses/user_timeline/'.$twitter_user.'.rss'; $cache_file = 'data/twitter_'.$twitter_user.'.rss'; $cache_time = '1800'; // Cache Zeit in Sekunden $cacheing = updateCache($quelle_url, $cache_file, $cache_time); // --- jetzt mit der ge-cacheten Datei $cache_file arbeiten // ------------------------------------------------ ?>
PS:
habe noch irgendwo gelesen, das die "alte" Twitter RSS nicht mehr der offizielle Aufruf ist,
veiel sagen, man soll die neue Abfrage URl (aus der API) nutzen,
die funktioniert ja auch weitgehend ohne oAuth Zugang, eben mit Limit 150 / Stunde
http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=limacity
in der Form kann man ja dann auch einfacher andere Abfragen machen
wie z.B. Listen, Mentions (Erwähnungen), Retweets, etc ...
Beitrag zuletzt geändert: 2.1.2012 11:15:44 von favon -
Danke!
Ja, damit wird meine Kalkulation wieder hinfällig... Da sind die Abfragen zu begrenzt, selbst mit Caching. Weil ich muss ja davon ausgehen, dass alle auch andere Leute abonieren, und so komme ich selbst wenn ich die Cachezeit auf 3h halte auf nur 450/1050 anfragen, dass sind nicht wirklich viele in meinen Augen, wenn ich den Dienst mit einigen mehr Teilen will. Außerdem sind alle 3h schon seltend für einige Leute. Na ok.
Danke :)
Liebe Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage