我想知道这是否可行 - 我想用Python来转发一个人发出的每条推文。如果是,那么我该如何实现呢?
答案 0 :(得分:7)
不幸的是,python-twitter 尚未支持Twitter Retweet REST call。
您必须自己直接拨打电话(使用直接调用api._FetchURL)或在issue 130中应用补丁以添加支持。
你最好使用tweepy;阅读API documentation,有一种方便的retweet(id)
转发方式。
快速而肮脏的例子:
import tweepy
auth = tweepy.BasicAuthHandler("username", "password")
api = tweepy.API(auth)
for status in api.user_timeline('someuser'):
api.retweet(status.id)
这将转发someuser
的最后20个状态。您希望进行更多编码,以防止它在下次运行脚本时再次转发相同的消息。
编辑:Twitter不再接受BasicAuth身份验证,您必须使用OAuth身份验证交换来获取授权令牌。更改上面的示例以使用OAuth会减损我尝试制作的转发API点,请参阅Tweepy OAuth tutorial以获取详尽的教程。
答案 1 :(得分:3)
您可以转发您关注的人发推文的任何内容。您也可以转发所有公开推文。
使用此链接:https://github.com/joshthecoder/tweepy 你会知道如何以一种非常简单的方式做到这一点。
答案 2 :(得分:1)
这是OAuth"快速而肮脏"方法,请记住,你需要安装Tweepy才能工作。
import tweepy
api_key = 'your_key'
api_secret = 'your_secret_key'
access_token = 'your_token'
access_secret = 'your_secret_token'
auth = tweepy.OAuthHandler(api_key, api_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)
for status in api.user_timeline('someuser'):
api.retweet(status.id)
答案 3 :(得分:0)
最新版本的python-twitter允许您使用命令转发
api.PostRetweet(tweet_id)
其中api是登录的api,tweet_id是你要转发的推文的id。