我最終的目標是創建一個twitter「bot」,它通過直接消息獲取輸入並根據輸入更改公共可見的網頁。我原本計劃使用公共消息做這件事,但這很快就令人討厭,所以我正在調整我的Tweepy流以利用DM。Tweepy stream.userstream()不會收到直接消息
截至目前,下面的代碼有效,當腳本運行時,我收到通知並處理由測試用戶關注的人員發出的所有帖子,但沒有直接顯示消息。
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
class CustomStreamListener(tweepy.StreamListener):
...
def on_status(self, status):
print status
...
sapi = tweepy.streaming.Stream(auth, CustomStreamListener())
sapiuser = sapi.userstream()
https://dev.twitter.com/discussions/8081以及下面的鏈接(8110,4088),使它看起來像這應該工作(即內置tweepy代碼應該能夠精細訪問),假設我有R/W/dm權限在dev.twitter.com控制面板上,該帳戶可以執行此操作。 (我將「設置」下的「應用程序類型」更改爲全部三項,並重新創建了一個訪問令牌,表明它擁有這些權限 - 是否需要執行其他操作)我將嘗試解構Tweepy並立即檢查HTTP標頭訪問級別,但任何其他意見將不勝感激。謝謝!
編輯:https://dev.twitter.com/discussions/4088建議在任何響應中檢查HTML標題「x-access-level」以驗證我具有DM權限,而且我也這麼做。