Twitter op je website

Met dit script kan je twitter gemakkelijk op je website implementeren.
Het is verre van optimaal en de switch kan vervangen worden door if-jes.
Ik gebruik 'm zelf momenteel alleen nog lokaal om te testen.

http://apiwiki.twitter.com/Twitter-API-Documentation
Op deze website kan je de documentatie geven over wat je op wil halen.
Check de documentatie bij de REST-api.

Er kan nog veel meer met dit script om het uit te breiden en het is volledig ungestyled. Er zit een functie in die de tijd tot de post-timestamp uitrekent, alleen die kan nog een stuk beter dus ik hoor graag hoe dit beter kan.

Succes!

Gesponsorde koppelingen

PHP script bestanden

  1. twitterWidget.php

 

18 reacties op 'Twitter op je website'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppeling

Jelmer rrrr
Jelmer rrrr
4 maanden geleden
 
3 +1 -0 -1
Die switch-constructie gaat niet helemaal goed. Als $timediff 0 is, werkt hij niet zoals verwacht. Er simpelweg switch(true) { van maken lost dat al op. Die breaks zijn trouwens niet eens zo nodig, je functie (en ook dus de switch) stopt al bij return.

PHP kent ook groter-of-gelijk-aan. Dus $timediff == 3600 || $timediff > 3600 && $timediff < 7200 mag je ook schrijven als $timediff >= 3600 && $timediff < 7200.

Misschien kan je nog een laatste default-case toevoegen, voor als al het andere niet matcht. Voor hele oude tweets. Bijv. gewoon date('d-m-Y', $timestamp) teruggeven.
Justin Streuper
Justin Streuper
4 maanden geleden
 
0 +1 -1 -1
De functie heb ik ongeveer om 2 uur 's nachts geschreven dus dan krijg je dat soort foutjes. Zal de functie even aanpassen. Maar de tweets die langer geleden zijn dan 1 week geeft gewoon het aantal weken terug :-)! En de timediff variable kan nooit 0 als antwoord teruggeven want je kan niet iets 0 seconden geleden hebben geplaatst, want de post-time duurt meestal al 5 miliseconden, en dan wordt dat automatisch afgerond naar 1 :-)!
Synaps Framework
Synaps Framework
4 maanden geleden
 
1 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
            echo '<div id='twitter-post-datetime'>';
?>


id gaat niet werken. Ik zou hier class van maken sinds het in een foreach staat, en het dus ook vaker zal worden gebruikt. Het is maar een klein foutje ;) Voor de rest ziet het er oké uit.
Anja van Steenbrugge
Anja van Steenbrugge
3 maanden geleden
 
0 +1 -0 -1
Ik krijg deze fout:
'
Warning: curl_close(): supplied argument is not a valid cURL handle resource in /home/cooltennis/domains/cooltennis.nl/public_html/twitter.php on line 87
'

Deze regel is 87:
'
curl_close($twitter);
'
Chris Horeweg
Chris Horeweg
3 maanden geleden
 
0 +1 -0 -1
Moet volgens mij ook $twitterCurl zijn, en niet $twitter..

Overigens, nogal nutteloos om voor iedere regel een nieuwe echo te gebruiken, vind je niet?
Aar anoniem
Aar anoniem
3 maanden geleden
 
0 +1 -0 -1
Thnx voor de timeAgo() function. Ik had al een Twitter implementatie gebouwd (op nagenoeg dezelfde wijze), maar dit ontbrak er nog aan merkte ik op :-)
Gerben Jacobs
Gerben Jacobs
3 maanden geleden
 
0 +1 -0 -1
Je kunt nu nog inloggen met Basic Auth 'username:password' maar 30 juni kun je alleen nog OAuth gebruiken..
Niels van Dijk
Niels van Dijk
3 maanden geleden
 
0 +1 -0 -1
ik krijg deze fout!
Fatal error: Call to undefined function curl_init() in C:\wamp\www\twitter\index.php on line 54
TJVB tvb
TJVB tvb
3 maanden geleden
 
0 +1 -0 -1
Je moet curl geïnstalleerd hebben om die functie te kunnen gebruiken. (Vraag je host of google even)
Karl Karl
Karl Karl
3 maanden geleden
 
0 +1 -0 -1
Installeer cURL:
curl.setup
Edit: Spuit elf.
Anja van Steenbrugge
Anja van Steenbrugge
3 maanden geleden
 
0 +1 -0 -1
Dank je Chris, mijn fout melding is opgelost.

Nu ga ik proberen wat mooi opmaak maken.
Justin Streuper
Justin Streuper
3 maanden geleden
 
0 +1 -0 -1
@Gerben, ik heb het script aangepast, nu hoef je niet meer je credentials op te geven maar enkel je username. Aangezien dit script alleen gemaakt is om makkelijk je tweets weer te geven op je website is het niet nodig te werken met oAuth. Je zou eventueel zelfs heel het cURL stuk eruit kunnen slopen. Maar dat vind ik persoonlijk niet nodig.

Ik heb ook de curl_close even aangepast met de goede var en daarnaast wat classnames gewijzigd.

@Chris Horeweg: ik vind het fijner om met losse lines en dus met losse echo's te werken dan een echo over meerdere regels uit te spreiden. Ligt eraan wat je zelf fijner vind, daarin is niet echt een goed of fout. Net als je stylesheet indeling.

Nog een update: Ik heb een default case toegevoegd aan de switch, als tweets ouder zijn dan 4 weken geeft hij de datum/tijd weer in dd-mm-yyyy hh-ii (default date format).
Justin Streuper
Justin Streuper
3 maanden geleden
 
0 +1 -0 -1
Nu ook uitgebreid met een functie om de @username, #tags en www-/ftp-links te voorzien van een <a href=''>
Justin Streuper
Justin Streuper
5 dagen geleden
 
0 +1 -0 -1
************ LET OP ******************
Sinds gister is de curl authenticatie vervallen bij Twitter, dus ik weet niet of het script nog werkt. ik gebruik nu zelf een script met oAuth.

*****************************
Anja van Steenbrugge
Anja van Steenbrugge
4 dagen geleden
 
0 +1 -0 -1
Heb van de week gemerkt dat twitter idd niet meer doet. Word er aangepast zodat weer werkend krijgen?
Anja van Steenbrugge
Anja van Steenbrugge
4 dagen geleden
 
0 +1 -0 -1
Excuus voor dubbelpost, ging mis.
Justin Streuper
Justin Streuper
4 dagen geleden
 
0 +1 -0 -1
Dit script is in ieder geval onbruikbaar waarschijnlijk. Ik zal, zodra ik tijd heb, de versie met oAuth plaatsen die ik gebruik momenteel. Ben nu alleen bezig met een aantal projecten dus nu geen tijd voor.

Om te reageren heb je een account nodig en je moet ingelogd zijn.