2012-02-17 83 views
10

我似乎無法得到tweepy與回覆到一個特定的鳴叫工作:回覆與Tweepy到鳴叫 - Python的

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) 
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) 

api = tweepy.API(auth) 

### at this point I've grabbed the tweet and loaded it to JSON... 

tweetId = tweet['results'][0]['id'] 

api.update_status('My status update',tweetId) 

的API表示,它需要可選參數和in_reply_to_status_id是第一次,但似乎完全忽略它。該腳本將發佈更新後的狀態,但不會將其作爲對我傳遞的tweetId的回覆的鏈接。

API供參考:http://code.google.com/p/tweepy/wiki/APIReference#update_status

人有什麼想法?我覺得我在這裏錯過簡單的東西...

在此先感謝。

+0

那麼,這是簡單的。我必須指定推文的使用@符號。 api.update_status('我的狀態更新@ whoIReplyTo',tweetId) – mcriecken 2012-02-17 03:52:58

回答

9

那麼,這是很簡單的。我必須指定推文的使用@符號。

api.update_status('My status update @whoIReplyTo',tweetId) 
+1

第一次工作。我錯過了推特ID號碼。偉大的問題和答案 - 謝謝! – Adjam 2014-03-23 17:38:21

12

你也可以做

api.update_status("my update", in_reply_to_status_id = tweetid) 
+0

這應該是最好的選擇 – user3378649 2015-02-23 04:00:14

+1

這不適合我。您確實需要在Tweet中添加用戶的句柄才能成爲回覆。否則,它將算作您的新推文,而不是對現有Tweet的回覆。 – 2017-01-28 21:13:56

13

我遇到了同樣的問題,但幸運的是我找到了解決辦法。你只需要在推文中包含用戶的screen_name:

api.update_status('@<username> My status update', tweetId) 
+0

花了幾個小時試圖找出問題,並最終找到了這個解決方案!謝謝! – thameera 2012-08-12 17:49:11

+0

同樣的問題在這裏...這是唯一的答案,爲我工作。謝謝你的哥們! – CoderOfTheNight 2015-10-25 21:07:32

0

我發現,我必須包括鳴叫的ID字符串(而非實際ID號)規定,我是回答

api.update_status('@whoIReplyTo my reply tweet',tweetIdString) 
0

這似乎是在Tweepy錯誤鳴叫的時候 - 即使你撥打電話到api.update_status設置正確參數,

api.update_status(status=your_status, in_reply_to_status=tweet_to_reply_to.id) 

鳴叫不會是一個答覆。爲了得到答覆,您需要提及您想要回復的用戶指定正確的in_reply_to_status編號。

reply_status = "@%s %s" % (username_to_reply_to, your_status) 
api.update_status(status=reply_status, in_reply_to_status=tweet_to_reply_to.id) 

但請記住 - Tweepy和Twitter的服務器仍然強制執行的140個字符的最大數量,所以一定要檢查

len(reply_status) <= 140 

同樣,我認爲這是一個錯誤,因爲在Twitter上應用程序,您可以回覆,而無需嵌入您要回復的人的用戶名。