Cet exemple utilise la recherche d'archives complètes GNIP pour afficher le volume d'activité et les derniers tweets sur un sujet donné. Il restitue également les tweets à l'aide du widgets.js de Twitter.
Comme toujours, lorsque vous développez sur la plate-forme Twitter, vous devez respecter le contrat et la politique du développeur.
Pour exécuter cet exemple de code, vous pouvez installer les bibliothèques requises avec :
`pip install -r requirements.txt`
Créez une application Twitter (https://apps.twitter.com/). Assurez-vous également que l’URL de rappel est renseignée. Cela peut pointer vers http://localhost:9000 pour démarrer. S'il n'est pas inclus, vous obtiendrez des erreurs d'autorisation client lors de la connexion.
Spécifiez vos informations d'identification API et GNIP dans app/settings_my.py sous la section suivante :
GNIP_USERNAME = 'YOUR_GNIP_USERNAME'
GNIP_PASSWORD = 'YOUR_GNIP_PASSWORD'
GNIP_SEARCH_ENDPOINT = 'YOUR_GNIP_FULL_ARCHIVE_SEARCH_ENDPOINT'
Pour initialiser votre base de données, exécutez le depuis le répertoire tweet-search
:
python manage.py syncdb --settings=app.settings_my
Puis exécutez :
python manage.py migrate --settings=app.settings_my
Pour démarrer le serveur, exécutez la commande suivante à partir du répertoire tweet-search
:
fab start
Ouvrez un navigateur et accédez à http://localhost:9000
Notez que GNIP_SEARCH_ENDPOINT est une URL vers l'URL de recherche d'archive complète et est au format https://data-api.twitter.com/search/fullarchive/...
. Si vous souhaitez utiliser la recherche sur 30 jours, ouvrez le fichier gnip_search_api.py
, recherchez le terme « 30 DAY » et suivez les instructions. (Vous devez également utiliser l'URL de recherche de 30 jours, et non l'URL de recherche complète de l'archive.)
Pour des raisons de sécurité, cet exemple de code comporte un processus par lots pour effacer les jetons d'authentification Twitter pour les utilisateurs qui :
Pour exécuter le processus, exécutez simplement :
`fab invalidate'
Le déploiement sur Heroku est encore plus simple.
Créez une application Twitter (https://apps.twitter.com/)
Cliquez sur le bouton Heroku ci-dessous
Lorsque vous y êtes invité lors de l'installation de Heroku, spécifiez votre :
Après le déploiement, dans la configuration de l'application Twitter, assurez-vous que l'URL de rappel est http://your-app-name.herokuapp.com/complete/twitter
Pour synchroniser la base de données, utilisez la CLI Heroku et exécutez ce qui suit :
heroku run python manage.py migrate --app your-app-name
Ouvrez un navigateur et accédez à l'URL spécifiée par votre déploiement (http://your-app-name.herokuapp.com)
Pour créer un utilisateur administrateur, utilisez la commande Heroku CLI suivante :
heroku run python manage.py createsuperuser --username=USERNAME --email=EMAIL --app your-app-name
Connectez-vous ensuite via la console d'administration et mettez à jour votre utilisateur de connexion Twitter initial en conséquence.
Pour vous assurer que le script d'invalidation du jeton fonctionne correctement sur Heroku, exécutez ce qui suit depuis votre ordinateur :
`heroku run fab invalidate --app=MY_APP_NAME'
Si cela fonctionne correctement, suivez les étapes ci-dessous pour l'exécuter en tant que tâche planifiée sur Heroku :
heroku addons:add scheduler:standard --app=MY_APP_NAME
fab invalidate
Confirmez la réussite de l'exécution en affichant le résultat dans les journaux de l'application Heroku.
Quelques exemples de requêtes à exécuter :
#MLB #SFGiants
@TwitterDev -(is:retweet)
walking dead (has:media)
Dans l'interface utilisateur, il existe un lien pour afficher les options avancées. Spécifiquement:
(has:media)
à votre requête La recherche GNIP peut également suggérer des termes connexes supplémentaires à ajouter à votre requête. Cliquez sur le lien « termes associés » et une liste déroulante apparaîtra pour suggérer (et ajouter) des termes supplémentaires à votre requête :