In diesem Beispiel wird die vollständige Archivsuche von GNIP verwendet, um das Aktivitätsvolumen und die neuesten Tweets zu einem bestimmten Thema anzuzeigen. Es rendert Tweets auch mithilfe von widgets.js von Twitter.
Wie immer müssen Sie bei der Entwicklung auf der Twitter-Plattform die Entwicklervereinbarung und -richtlinie einhalten.
Um diesen Beispielcode auszuführen, können Sie die erforderlichen Bibliotheken installieren mit:
`pip install -r requirements.txt`
Erstellen Sie eine Twitter-App (https://apps.twitter.com/). Stellen Sie außerdem sicher, dass die Rückruf-URL ausgefüllt ist. Dies kann zum Starten auf http://localhost:9000 verweisen. Wenn es nicht enthalten ist, erhalten Sie beim Anmelden Client-Autorisierungsfehler.
Geben Sie Ihre API- und GNIP-Anmeldeinformationen in app/settings_my.py im folgenden Abschnitt an:
GNIP_USERNAME = 'YOUR_GNIP_USERNAME'
GNIP_PASSWORD = 'YOUR_GNIP_PASSWORD'
GNIP_SEARCH_ENDPOINT = 'YOUR_GNIP_FULL_ARCHIVE_SEARCH_ENDPOINT'
Um Ihre Datenbank zu initialisieren, führen Sie Folgendes aus dem tweet-search
aus:
python manage.py syncdb --settings=app.settings_my
Führen Sie dann Folgendes aus:
python manage.py migrate --settings=app.settings_my
Um den Server zu starten, führen Sie im tweet-search
Folgendes aus:
fab start
Öffnen Sie einen Browser und gehen Sie zu http://localhost:9000
Beachten Sie, dass GNIP_SEARCH_ENDPOINT eine URL zur vollständigen Archivsuch-URL ist und das Format https://data-api.twitter.com/search/fullarchive/...
hat. Wenn Sie die 30-Tage-Suche nutzen möchten, öffnen Sie die Datei gnip_search_api.py
, suchen Sie nach dem Begriff „30 DAY“ und folgen Sie den Anweisungen. (Sie müssen außerdem die 30-Tage-Such-URL verwenden und nicht die vollständige Archiv-Such-URL.)
Aus Sicherheitsgründen verfügt dieses Codebeispiel über einen Batch-Prozess zum Löschen von Twitter-Authentifizierungstokens für Benutzer, die entweder:
Um den Prozess auszuführen, führen Sie einfach Folgendes aus:
`fab invalidate'
Die Bereitstellung auf Heroku ist noch einfacher.
Erstellen Sie eine Twitter-App (https://apps.twitter.com/)
Klicken Sie unten auf die Heroku-Schaltfläche
Wenn Sie während der Heroku-Installation dazu aufgefordert werden, geben Sie Folgendes an:
Stellen Sie nach der Bereitstellung in der Twitter-App-Konfiguration sicher, dass die Rückruf-URL http://your-app-name.herokuapp.com/complete/twitter
lautet
Um die Datenbank zu synchronisieren, verwenden Sie die Heroku-CLI und führen Sie Folgendes aus:
heroku run python manage.py migrate --app your-app-name
Öffnen Sie einen Browser und rufen Sie die von Ihrer Bereitstellung angegebene URL auf (http://Ihr-App-Name.herokuapp.com).
Um einen Admin-Benutzer zu erstellen, verwenden Sie den folgenden Heroku-CLI-Befehl:
heroku run python manage.py createsuperuser --username=USERNAME --email=EMAIL --app your-app-name
Melden Sie sich dann über die Admin-Konsole an und aktualisieren Sie Ihren ursprünglichen Twitter-Anmeldebenutzer entsprechend.
Um sicherzustellen, dass das Token-Ungültigmachungsskript auf Heroku ordnungsgemäß funktioniert, führen Sie Folgendes auf Ihrem Computer aus:
`heroku run fab invalidate --app=MY_APP_NAME'
Wenn dies ordnungsgemäß ausgeführt wird, führen Sie die folgenden Schritte aus, um es als geplanten Job auf Heroku auszuführen:
heroku addons:add scheduler:standard --app=MY_APP_NAME
ausfab invalidate
einBestätigen Sie die erfolgreiche Ausführung, indem Sie die Ausgabe in den Heroku-App-Protokollen anzeigen.
Einige Beispielabfragen zum Ausführen:
#MLB #SFGiants
@TwitterDev -(is:retweet)
walking dead (has:media)
In der Benutzeroberfläche gibt es einen Link zum Anzeigen erweiterter Optionen. Speziell:
(has:media)
an Ihre Abfrage angehängt Die GNIP-Suche kann auch weitere verwandte Begriffe vorschlagen, die Sie Ihrer Suchanfrage hinzufügen können. Klicken Sie auf den Link „Verwandte Begriffe“. Daraufhin wird ein Dropdown-Menü angezeigt, in dem Sie zusätzliche Begriffe zu Ihrer Suchanfrage vorschlagen (und hinzufügen) können: