2010-09-07 4 views
4

Sur le site de mon entreprise, nous avons un affichage de 40 images 100px X 100px représentant les projets dans lesquels nous avons été impliqués. Nous avons plus de 150 projets, mais seulement 40 sont affichés sur la page d'accueil et la sélection des 40 est aléatoire. See Example Here.Faisabilité: Auto-tweet sur Mise à jour d'une page

Nous avons également une page de mise à jour qui trie ces 40 projets par la date à laquelle ils ont été ajoutés. See Here. Dans les deux cas, les données sont extraites d'une base de données PHP MySQL et affichées comme telles sur le site Web.

Nous espérons obtenir une présence twitter ainsi que re-développement de notre site Web et je me demandais:

est-il un moyen de relier twitter à la page de mise à jour, quand j'ajouter un nouveau projet à la base de données, ou mettre à jour un projet existant, il tweete automatiquement sur le nouveau projet?

Merci à l'avance

+0

Pas de manière automatique (sauf un travail cron qui interroge votre base de données) mais vous pouvez écrire une fonction simple qui met à jour votre twitter à chaque mise à jour de page. – fabrik

+0

donc, sur mon CMS où j'ajoute un nouveau projet, ou mettre à jour un projet, je peux le faire de cette façon? –

+0

Oui, vous devrez injecter à cet endroit. – fabrik

Répondre

3

Il est certainement possible de faire; cependant, puisque Twitter a désactivé Basic Auth, , vous devrez configurer une 'application' twitter à laquelle vous accorderez l'accès (oAuth), puis l'utiliser pour publier. Cela ajoute un peu de complexité, mais cela ne devrait pas vous arrêter. Bien sûr, si votre CMS peut fournir un flux RSS de mises à jour/ajouts (peut-être basé sur cette page de mise à jour), vous pouvez utiliser l'un des nombreux services d'affichage RSS à Twitter .

Je suis un grand fan de la façon dont vous pouvez choisir et choisir les composants de Zend Framework, donc j'utiliserais probablement Zend_Service_Twitter pour quelque chose comme ça; Cependant, le concept est similaire sur n'importe quelle bibliothèque Twitter (ou même simplement en interface directe avec Twitter, mais cela semble être un travail inutile).

Tout d'abord, comme mentionné précédemment, vous devrez installer une application sur Twitter. Le developer site devrait aider là. Vous devrez également ** accorder à votre nouvelle application l'accès au compte sur lequel vous allez poster, ce dont vous avez besoin est un jeton d'accès oAuth.

Le jeton d'accès est utilisé pour la lecture/écriture, vous allez l'utiliser pour configurer la bibliothèque Twitter (encore une fois, un exemple de la documentation de Zend, mais il devrait être similaire à d'autres bibliothèques):

$twitter = new Zend_Service_Twitter(array(
    'username' => 'johndoe', 
    'accessToken' => $token 
)); 

Ensuite, utilisez les données fournies par le CMS pour créer le message "mise à jour". Peut-être quelque chose comme ceci:

$status = "We just updated $projectName, check it out: $projectShortLink"; 
$response = $twitter->status->update($status); 

Bien sûr, vous devrez vous assurer que c'est sous la limite de 140. C'est assez simple, le vrai overhead est de configurer une 'app' et d'obtenir le jeton oAuth. Vous aurez besoin d'un script simple pour demander et récupérer le token (la documentation de Zend donne des exemples) Ou vous pouvez demander la permission pour xAuth, mais cela semble un peu exagéré pour votre application.

Un avantage potentiel - puisque vous créez une application, vous pouvez choisir le 'via AppName' qui est affiché dans divers clients.

+1

cheers mate, je vais sauter dessus maintenant je viens d'avoir l'approbation du patron afin que je puisse aller de l'avant et le faire maintenant :) merci –

Questions connexes