kostenloser Webspace werbefrei: lima-city


Twitter API benutzen, was beachten?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    g****e

    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 :-D
    (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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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


  4. Autor dieses Themas

    g****e

    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
  5. 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
  6. Autor dieses Themas

    g****e

    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
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!