Duiken in de Twitter Search API

Twitter is iets waar je ofwel door geobsedeerd, verward of ziek van bent. Laten we eens kijken wat we ermee kunnen doen met de Twitter API. Maak je geen zorgen, het is een stuk eenvoudiger dan je denkt. Als ik het kan, kan iedereen het. We zullen bekijken hoe u de Twitter-API met PHP kunt gebruiken om verzoeken te doen en een eenvoudige zoek- en resultatenpagina te maken.

Deze tutorial bevat een screencast die beschikbaar is voor leden van Tuts + Premium.


Stap 1 - Zorg ervoor dat cURL voor PHP is ingeschakeld op uw webserver

cURL is een opdrachtregelhulpprogramma voor het overbrengen van bestanden met URL-syntaxis. Het maakt een veel snellere en eenvoudigere manier om http-verzoeken te doen via PHP. Dit is belangrijk omdat de PHP-bibliotheek die we zullen gebruiken dit vereist. Als u niet zeker weet of cURL al dan niet is geïnstalleerd en ingeschakeld op uw webserver, voert u de phpinfo () -functie uit en zoekt u naar "krullen" om te zien of deze is ingeschakeld. De meeste moderne webservers hebben het geïnstalleerd en ingeschakeld. Als dat niet het geval is, kunt u het handmatig inschakelen vanuit de twee php.ini-bestanden op uw webserver.



Stap 1.5 - Word lid van de Twitters

Als je dat nog niet hebt gedaan, koop dan een Twitter-account. Je hebt er eigenlijk geen nodig voor deze tutorial, maar als je dit wilt uitbreiden met plaatsen en volgen en andere dingen, heb je er een nodig. Ik heb nog steeds geen idee waarom mensen het zo leuk vinden of haten, maar ik zal je laten zien wat je met de API kunt doen.



Stap 2 - Download de Twitter API PHP-bibliotheek

Ja, we kunnen het vanaf nul doen, maar waarom? In de echte wereld moeten we dingen snel gedaan krijgen en veel van het zware werk is al voor ons gedaan. De PHP-bibliotheek zal de kloof voor ons overbruggen tussen de Twitter API en PHP. Voor deze tutorial gebruiken we een PHP-bibliotheek van webbedrijf Arc90. U kunt de Arc90 PHP Twitter API-client hier als een ZIP-bestand downloaden.



Volledige screencast



Stap 3 - Stel de bestands- / mapstructuur in

Pak het gedownloade ZIP-bestand uit en verplaats het 'lib'-bestand naar uw' code '(dit is gewoon mijn willekeurige codemap, u kunt het elke gewenste naam geven) in uw project. Ik heb een 'css'-map met een' style.css 'bestand in de vorm van een twitter.



Stap 4 - Importeer de Twitter-bibliotheek en begin met praten met de API

Maak een nieuw 'tweet-feed.php' bestand. Hier is de code op die pagina. Ik heb commentaar gegeven op het verzoek van de openbare tijdlijn. U kunt dit descommentariëren en uw zoekopdracht kenbaar maken als u dat wilt. Dit is alleen maar om u op weg te helpen. Onthoud dat de Twitter Search API alleen ATOM- en JSON-aanvraagtypen toestaat. Alle andere aanvragen staan ​​XML, RSS, ATOM en JSON toe. In deze zelfstudie wordt ATOM gebruikt.

 getPublicTimeline (ATOM); // echo $ feed = $ response-> getData (); // Voorwaardelijke vragen voor de zoekopdracht uit de URL als (isset ($ _ GET ['q']) && $ _GET ['q']! = ") $ Q = $ _GET ['q']; else $ q = 'nettuts'; // Zoeken Twitter API Request $ response = $ twitter-> searchAPI ('ATOM'); echo $ feed = $ response-> search ($ q, array ('rpp' => 10)) ;?>

Stap 5 - Weergave van de API-aangevraagde gegevens

Maak nog een PHP-bestand, 'index.php' en voeg de volgende code toe. Dit omvat een eenvoudig zoekformulier, de PHP voor het importeren van het ATOM / XML-resultaatbestand ('tweet-feed.php') dat we eerder met SimpleXML hebben gemaakt en het doorlopen van de inhoud om de resulterende Twitter API-zoekresultaten weer te geven..

     Tweetorial, Simple Twitter Search     

Tweetorial Zoekresultaten

Zoekresultaten voor

invoer als $ tweet) // Wikkel alle tweet-gegevens in een '.tweet' div-echo '
'; // Verkrijg de Twitter-avatar en verpak deze in een '.avatar_border' div-echo '
'; // Geef de Twitter-gebruikersnaam weer en verpak deze in een H3-tag-echo '

'$ Tweet-> Auteur-> naam.'

'; // Geef de inhoud van de tweet weer en verpak deze in een P-tag-echo '

'$ Tweet-> content.'

'; echo '
'; ?>

Stap 6 - Make It All Pretty

Nu we alle gegevens hebben, laten we het u gemakkelijk maken. Hier is de CSS die ik gebruikte om de 'index.php'-pagina vorm te geven. Let aan het einde van de CSS op de stijl 'img.avatar'. Dit is belangrijk omdat Twitter de avatarafbeeldingen niet altijd correct verkleint en sommige een veel grotere afbeelding weergeven.

 body background: # 9AE4E8; marge: 0 auto; opvulling: 0; font-family: "Trebuchet MS", Arial, Verdana; lettergrootte: 12px; text-align: center; kleur: # 333333;  img border: 0;  a text-decoration: onderstrepen; kleur: # 00CCFF;  a: hover color: #FFFFCC;  .clear margin: 0 auto; padding: 0; beiden opschonen;  h1 font-size: 24px;  h2 font-size: 18px;  h3, h3 a color: # 0084B4; achtergrond: #FFFFFF; margin: 0;  a: hover color: # 0084B4;  /* ------------------------------------------- Inhoud --- ---------------------------------------- * / #content margin: 0 auto; padding: 0; width: 600px;  / * ------------------------------------------- Overig / Overig - ------------------------------------------ * / .search margin: 10px ;  .tweet achtergrond: #FFFFFF; kleur: # 666666; text-align: left; padding: 10px; marge: 0 0 2px; width: auto; -moz-border-radius: 10px; overloop verborgen; position: relative;  / * De b-tag wordt gebruikt om het zoekwoord op de resulterende zoekpagina te markeren * / b background: #CCFFFF;  .avatar_border border: 1px solid #EFEFEF; float: left; marge: 0 10px 0 0; overloop verborgen; padding: 0;  .avatar background: #CCCCCC; rand: 6px vast # F0F0F0; margin: 2px; padding: 2px;  / * Het is belangrijk om de hoogte en breedte handmatig in te stellen, omdat Twitter niet altijd de avatarafbeeldingen verkleint en sommige een veel grotere afbeelding weergeven * / img.avatar height: 48px; width: 48px; 


Gedaan?

Nou, dat is alles waar ik nu tijd voor heb. Dit zou je de basis moeten geven om aan de slag te gaan met de Twitter API met PHP. Nu kunt u het uitbreiden naar meer nuttige webtoepassingen, een Twitter AIR-client, wat zoete AJAX-iness toevoegen, wat u maar kunt bedenken. Ga tweeten terwijl de Twitter hot is.