使用Python发送Twitter转发

时间:2011-03-27 12:05:46

标签: python twitter

我想知道这是否可行 - 我想用Python来转发一个人发出的每条推文。如果是,那么我该如何实现呢?

4 个答案:

答案 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。