此範例使用 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 搜尋還可以建議其他相關術語添加到您的查詢中。點擊“相關術語”鏈接,將出現一個下拉式選單,向您的查詢建議(並添加)其他術語: