В этом примере используется поиск по полному архиву GNIP, чтобы показать объем активности и последние твиты по любой заданной теме. Он также отображает твиты с помощью Twitter widgets.js.
Как всегда, при разработке на платформе Twitter вы должны соблюдать Соглашение и политику разработчика.
Чтобы запустить этот пример кода, вы можете установить необходимые библиотеки с помощью:
`pip install -r requirements.txt`
Создайте приложение Twitter (https://apps.twitter.com/). Также убедитесь, что URL-адрес обратного вызова заполнен. Это может указывать на http://localhost:9000 для запуска. Если он не включен, при входе в систему вы получите сообщение об ошибке авторизации клиента.
Укажите свои учетные данные API и GNIP в файле app/settings_my.py в следующем разделе:
GNIP_USERNAME = 'YOUR_GNIP_USERNAME'
GNIP_PASSWORD = 'YOUR_GNIP_PASSWORD'
GNIP_SEARCH_ENDPOINT = 'YOUR_GNIP_FULL_ARCHIVE_SEARCH_ENDPOINT'
Чтобы инициализировать базу данных, запустите команду из каталога tweet-search
:
python manage.py syncdb --settings=app.settings_my
Затем запустите:
python manage.py migrate --settings=app.settings_my
Чтобы запустить сервер, запустите следующее из каталога tweet-search
:
fab start
Откройте браузер и перейдите по адресу http://localhost:9000.
Обратите внимание, что GNIP_SEARCH_ENDPOINT — это URL-адрес полного URL-адреса поиска в архиве и имеет формат https://data-api.twitter.com/search/fullarchive/...
. Если вы хотите использовать 30-дневный поиск, откройте файл gnip_search_api.py
, найдите термин «30 DAY» и следуйте инструкциям. (Вам также необходимо использовать 30-дневный URL-адрес поиска, а не полный URL-адрес поиска в архиве.)
В целях безопасности в этом примере кода предусмотрен пакетный процесс очистки токенов аутентификации Twitter для пользователей, которые:
Чтобы запустить процесс, просто выполните:
`fab invalidate'
Развертывание в Heroku еще проще.
Создайте приложение Twitter (https://apps.twitter.com/)
Нажмите кнопку Heroku ниже.
При появлении запроса во время установки Heroku укажите:
После развертывания в конфигурации приложения Twitter убедитесь, что URL-адрес обратного вызова — http://your-app-name.herokuapp.com/complete/twitter
Чтобы синхронизировать базу данных, используйте интерфейс командной строки Heroku и выполните следующую команду:
heroku run python manage.py migrate --app your-app-name
Откройте браузер и перейдите по URL-адресу, указанному в вашем развертывании (http://your-app-name.herokuapp.com).
Чтобы создать пользователя-администратора, используйте следующую команду интерфейса командной строки Heroku:
heroku run python manage.py createsuperuser --username=USERNAME --email=EMAIL --app your-app-name
Затем войдите в систему через консоль администратора и соответствующим образом обновите исходного пользователя для входа в Twitter.
Чтобы убедиться, что сценарий аннулирования токена работает правильно на Heroku, запустите на своем компьютере следующее:
`heroku run fab invalidate --app=MY_APP_NAME'
Если все работает правильно, выполните следующие действия, чтобы запустить его как запланированное задание на Heroku:
heroku addons:add scheduler:standard --app=MY_APP_NAME
fab invalidate
Подтвердите успешное выполнение, просмотрев выходные данные в журналах приложения Heroku.
Некоторые примеры запросов для запуска:
#MLB #SFGiants
@TwitterDev -(is:retweet)
walking dead (has:media)
В пользовательском интерфейсе есть ссылка для отображения дополнительных параметров. Конкретно:
(has:media)
к вашему запросу. Поиск GNIP также может предложить дополнительные связанные термины для добавления в ваш запрос. Нажмите ссылку «Связанные термины», и появится раскрывающийся список, в котором можно предложить (и добавить) дополнительные термины к вашему запросу: