此示例使用 GNIP 完整存档搜索来显示任何给定主题的活动量和最新推文。它还使用 Twitter 的 widgets.js 呈现推文。
与往常一样,在 Twitter 平台上进行开发时,您必须遵守开发者协议和政策。
要运行此示例代码,您可以使用以下命令安装所需的库:
`pip install -r requirements.txt`
创建 Twitter 应用程序 (https://apps.twitter.com/)。另外,请确保填充回调 URL。这个可以指向http://localhost:9000来启动。如果不包括在内,您将在登录时收到客户端授权错误。
在 app/settings_my.py 的以下部分下指定您的 API 和 GNIP 凭据:
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 CLI 并运行以下命令:
heroku run python manage.py migrate --app your-app-name
打开浏览器并转到部署指定的 URL (http://your-app-name.herokuapp.com)
要创建管理员用户,请使用以下 Heroku CLI 命令:
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 搜索还可以建议其他相关术语添加到您的查询中。单击“相关术语”链接,将出现一个下拉菜单,向您的查询建议(并添加)其他术语: