不确定您的具体要求以及您之前尝试过的内容。
只使用rtweet 包会是一个解决方案吗?
它非常方便,并提供了很多与 twitter api 交互的功能(也可以发布和删除推文)
例如
#Posting
post_tweet("hello world")
#Following
post_follow("someuser")
# Not sure about deleting, but should work like this
post_tweet(destroy_id= "postID")
要让您发布 ID 以删除它,您可以使用 get_my_timeline。这应该为您的帖子提供 ID。
请参阅此处的小插曲,了解有关函数的简短 intro。
当然,您首先还需要一个访问令牌。
他们有一个很好的explanation page 关于如何做到这一点。还有一个FAQ 来解决问题。解释相当长,可能过于具体,无法在此处详细介绍。但是知道它是否适合您会很有趣。
进一步的事情:
- 确保您已安装 httpuv
- 确保拥有最新的 rtweet 版本(我认为最好来自 github)
- 还要检查以下内容:转到 developer.twitter.com/en/apps,然后转到您的应用程序。在“权限”下,确保提供读和写。在“应用程序详细信息”下添加 127.0.0.1:1410 作为回调 URL。在“密钥和令牌”下创建您的密钥
- 重新生成您的令牌/密钥
所以试试这个:
install.packages("httpuv")
devtools::install_github("mkearney/rtweet")
library(rtweet)
library(httpuv)
create_token(
app = appname,
consumer_key = key,
consumer_secret = secret,
access_token = access_token,
access_secret = access_secret
)
更新
我刚刚看到,在 github 的最新版本上,他们完全改变了他们的方法,create_token 现在已经贬值了。
这是新的方法:documentation
看来你现在应该使用rtweet_bot()。
library("askpass")
rtweet_bot(
api_key = askpass("API key"),
api_secret = askpass("API secret"),
access_token = askpass("access token"),
access_secret = askpass("access token")
)
我发布的其余代码应该保持不变。
总的来说,现在似乎有 3 种验证方式:
rtweet_user() 以交互方式验证现有 Twitter 用户。
如果您希望 rtweet 控制您的
推特账号。
rtweet_app() 作为 twitter 应用程序进行身份验证。一个应用程序
不能执行动作(即它不能发推文),但有
通常更高的速率限制(即您可以进行更多搜索)。看
详情在
https://developer.twitter.com/en/docs/basics/rate-limits.html。这
如果您正在收集数据,表格是最合适的。
rtweet_bot() 认证为代表一个机器人采取行动的机器人
应用程序。如果你想创建一个推特,这种形式是最合适的
由计算机而非人类运行的帐户。