• Bit.ly und PHP

    von am 1. März 2010

    Am Freitag hatte ich kurz erklärt wie man schönere ShortUrls erstellt, die ohne Fragezeichen auskommen. Diese Lösung hatte ich gewählt, da ich sie für Tweets verwenden wollte und wenn man nun mal nur 140 Zeichen hat, dann sollte man kürzen wo es geht.

    Das hat wunderbar bis zum Relaunch geklappt. Mit dem 500. Artikel haben wir auch das topsy Plugin eingeführt, um die Retweets besser zählen zu können (beim alten System hatte wir nur die der letzten 2 Wochen erfasst). Dieses Plugin hatte aber das Problem, dass es unsere /id Links nicht ausgelöst hat und somit keine Statistiken geführt hat, wie viele Retweets es denn jetzt wirklich sind. Ich hatte mich dann darauf entschlossen einen offiziellen URL Shortener zu verwenden und bin bei bit.ly gelandet. Die Schnittstelle war recht einfach und hat sich an Standards gehalten.

    Was ich also gemacht habe, ist das pushWP Plugin so aufzubohren, dass es auch gekürzte URLs twittern kann. Natürlich ist die Klasse, die ich dazu geschrieben habe nicht perfekt und die Fehlerbehandlung fehlt auch noch komplett, aber falls sie schon mal jemand verwenden und vielleicht erweitern will, werde ich sie schon mal veröffentlichen.

    class pushWP_BitlyUrlShortener
    {
      private $login;
      private $apiKey;
    
      const REST_URL = 'http://api.bit.ly/shorten?version=2.0.1&longUrl=%s&login=%s&apiKey=%s';
    
      public function __construct($login, $apiKey)
      {
        $this->login = $login;
        $this->apiKey = $apiKey;
    }
    
      public function getShortUrl($longUrl)
      {
        $restUrl = sprintf(self::REST_URL, $longUrl, $this->login, $this->apiKey);
        $result = json_decode(file_get_contents($restUrl));
        $urlResult = $result->results->$longUrl;
        return $urlResult->shortUrl;
      }
    }

    Mehr ist es nicht. Ihr müsst euch nur einen API Key holen und schon kann es losgehen. Zumindest reichen die Anforderungen für phphatesme. Die Fehlerbehandlung wird vielleicht einer von euch nachreichen oder ich mache das in einer ruhigen Minute.

    Nils Langner

    Auch wenn Ihr es mir nicht glauben werdet, aber ich habe nichts gegen PHP. Ich rege mich einfach nur gerne auf. Ok so schlimm ist es auch nicht. Eigentlich wollte ich schon immer einen Blog haben und da ...

    Zum Profil von Nils Langner

    9 Kommentare »


    • Christian
      am 1. März 2010 um 07:46 Uhr

      Hehe, Tripolis wirds freuen. Ich mag lybische Domains! ;)


    • Marc Binder
      am 1. März 2010 um 09:01 Uhr

      Ich denke auch das es Tripolis freuen wird ;-)


    • Steffkes
      am 1. März 2010 um 09:25 Uhr

      Womit wir mal wieder bei den URL-Shortener wären .. und ich nur auf die Diskussion bzgl Sinn & Unsinn warte :) Ich muss sagen .. ich verstehe langsam, warum sich manche leute ne DE-Crypt Extension in ihren Firefox basteln, wenn mittlerweile überall diese URLs verwendet werden – obwohl sie eigentlich nur für Twitter notwendig sind -.-


    • Nils Langner
      am 1. März 2010 um 09:27 Uhr

      @Steffkes: Da hast du Recht. Ich würde sie auch nur für Twitter benutzen. Ist sonst auch zu anstrengend, die zu generieren.


    • Flyingmana
      am 1. März 2010 um 10:40 Uhr

      Zumindest bei einigen short-url Diensten hab ich gehört, dass man damit einige Statistiken über Verbreitung und Nutzung der Links erhält. Genaueres weiß ich aber nicht, da ich bisher noch nie nen url-shortener benutzt habe.
      Aber ich weiß, dass die Leute noch so unnütze Statisktiken mögen, nur um völlig bedeutungslose Werte zu vergleichen. =D


    • Marc Binder
      am 1. März 2010 um 12:27 Uhr

      Naja Interessant ist es schon zu sehen wie oft der gekürzte Link angeklickt wurde.


    • butzi
      am 4. März 2010 um 12:35 Uhr

      Die kurze URL is ja schön und gut, aber was ist mit den Leuten die einen anderen Dienst nutzen oder die URL nicht kürzen? Die fallen dann gar nicht in die Zählung mit rein oder?

      Dafür gibt es aber auch eine Lösung: http://www.backtweets.com

      Dort einfach die URL eingeben und den RSS-Feed dazu abonnieren und auswerten. Ist also auch in PHP sehr einfach umzusetzen.


    • Nils Langner
      am 4. März 2010 um 12:44 Uhr

      @butzi: topsy findet alle URLs, die per Weiterleitung auf diese Seite zeigen. Warum es gerade bei meinen /id URLs nicht klappt habe ich keine Ahnung.


    • Felix
      am 30. Dezember 2010 um 12:40 Uhr

      Gibt es eine Möglichkeit login und api_key verschlüsselt an bit.ly zu übertragen?

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.