我正在嘗試編寫一個小型Twitter應用程序。例如,我已經設法從Twitter文檔運行身份驗證Python示例,並且可以從「statuses/home_timeline.json」中獲取數據。無法在Python中使用1.1 API獲取twitter用戶時間線
但現在我試圖使用「狀態/ user_timeline.json」,並沒有骰子。
這裏是我使用的代碼。這只是網頁中示例的修改。什麼可能是錯誤的?我三重檢查了服務URI。這不正確嗎?
我使用github的python-oauth2-1.0.0版本,這個文檔引用的項目很古老。有更好的模塊,我應該使用?順便說一下,client.request
中有一個不正確的參數。
另一件事:我可以使用curl運行查詢,並在Twitter開發網頁上創建命令行。
import oauth2 as oauth
CONSUMER_KEY = 'xxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxx'
ACCESS_KEY = 'xxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxxx'
def oauth_req(url, key, secret, http_method="GET", post_body=None,
http_headers=None):
consumer = oauth.Consumer(key=CONSUMER_KEY, secret=CONSUMER_SECRET)
token = oauth.Token(key=key, secret=secret)
client = oauth.Client(consumer, token)
resp, content = client.request(
url,
method=http_method,
body=post_body,
headers=http_headers
)
return content
# home_timeline = oauth_req(
# 'https://api.twitter.com/1.1/statuses/home_timeline.json',
# ACCESS_KEY,
# ACCESS_SECRET
#)
home_timeline = oauth_req(
'https://api.twitter.com/1.1/statuses/user_timeline.json?count=3&screen_name=twitterapi',
ACCESS_KEY,
ACCESS_SECRET
)
print home_timeline
我從user_timeline查詢得到的錯誤是: {「錯誤」:[{「消息」:「對不起,該網頁不存在」,「密碼」:34}]} – dividebyzero
我們使用完全相同的上述方法來獲取一組用戶的推文。區別在於,我們使用user_id並在client.request調用中只指定了「url」參數,並且這一數月來一直正常工作。只要所有數據類型(字符串,int等)被正確指定,就不會發現任何明顯的錯誤。 HTTP404,通常在用戶帳戶不存在時返回代碼34。 – Vishal
複製粘貼更多的差異。嘗試使用include_rts = true。 #prep資源網址包含TwitterID:twit_url = twitter_statuses_user +'user_id ='+ str(twitID)+'&trim_user = true&exclude_replies = true&include_rts = true'+'&count = 200'#max is 200 – Vishal