2012-02-17 28 views
10

tôi dường như không thể có được tweepy để làm việc với trả lời một tweet cụ thể:Trả lời Tweet với 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) 

Các api nói phải mất thông số tùy chọn và in_reply_to_status_id là lần đầu tiên, nhưng có vẻ như để bỏ qua nó hoàn toàn. Tập lệnh này sẽ đăng trạng thái được cập nhật, nhưng nó không liên kết nó như một câu trả lời cho tweetId mà tôi đang chuyển.

API để tham khảo: http://code.google.com/p/tweepy/wiki/APIReference#update_status

Bất kỳ ai cũng có ý tưởng? Tôi cảm thấy như tôi đang thiếu một cái gì đó đơn giản ở đây ...

Xin cảm ơn trước.

+0

Vậy thì, đó là điều đơn giản. Tôi phải chỉ định ai là tweet được hướng tới sử dụng ký hiệu @. api.update_status ('Cập nhật trạng thái của tôi @ whoIReplyTo', tweetId) – mcriecken

Trả lời

9

Vậy thì, đó là điều đơn giản. Tôi phải chỉ định ai là tweet được hướng tới sử dụng ký hiệu @.

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

Làm việc lần đầu tiên. Tôi đã thiếu số id tweet. Câu hỏi và câu trả lời hay - cảm ơn! – Adjam

12

Bạn cũng có thể làm

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

Đây là tùy chọn tốt nhất – user3378649

+1

Điều này không hiệu quả đối với tôi. Bạn cần phải thêm xử lý của người dùng trong Tweet cho nó để được trả lời. Nếu không, nó sẽ được tính là một Tweet mới từ bạn, không phải là một câu trả lời cho một Tweet tồn tại. –

13

Tôi chạy vào cùng một vấn đề, nhưng may mắn là tôi đã tìm thấy giải pháp. Bạn chỉ cần bao gồm screen_name của người dùng trong tweet:

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

Dành thời gian cố gắng tìm ra vấn đề và cuối cùng tìm ra giải pháp này! Cảm ơn! – thameera

+0

Cùng một vấn đề ở đây ... đây là câu trả lời duy nhất làm việc cho tôi. Cảm ơn bạn! – CoderOfTheNight

0

tôi phát hiện ra rằng tôi đã phải bao gồm chuỗi ID của tweet (chứ không phải là số ID thực tế) khi xác định các tweet rằng tôi đã trả lời

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

này có vẻ là một lỗi trong Tweepy - thậm chí nếu bạn thực hiện một cuộc gọi đến api.update_status với các thông số chính xác thiết lập,

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

các tweet sẽ không được trả lời. Để nhận được trả lời, bạn cần đề cập đến người dùng bạn muốn trả lời chỉ định id in_reply_to_status chính xác.

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) 

Hãy nhớ mặc dù - Tweepy và Twitter của máy chủ vẫn thi hành một số lượng tối đa 140 ký tự, do đó hãy chắc chắn rằng bạn kiểm tra xem

len(reply_status) <= 140 

lần nữa, tôi nghĩ rằng đây là một lỗi vì trên Twitter ứng dụng, bạn có thể trả lời mà không cần nhúng tên người dùng của người mà bạn đang trả lời.

Các vấn đề liên quan