使用 tweepy 和 Twitter API V2 发布推文

3

我需要我的Twitter应用程序发布一些信息,但是出了问题。首先,我创建了一个应用程序,并尝试使用以下代码测试凭据:

auth = tweepy.OAuthHandler("CONSUMER_KEY", "CONSUMER_SECRET")
auth.set_access_token("ACCESS_TOKEN", "ACCESS_SECRET")
api = tweepy.API(auth)
try:
    api.verify_credentials()
    print("Authentication Successful")
except:
    print("Authentication Error")

出现了"认证错误"。 然后我尝试直接编写推文

client = tweepy.Client(bearer_token, consumer_key, consumer_secret, access_token, access_token_secret)
client.create_tweet(text="********")

现在我遇到了 "tweepy.errors.Forbidden: 403 Forbidden" 的问题,该怎么办?

2个回答

1

你想通过V2发布推文吗?这里是我刚刚自问自答的解决方案!

安装tweepy,然后像我一样发推文“耶!我做到了”。

!pip3 install tweepy --upgrade # to install and upgrade tweepy if you didn't.

接下来,请准备好您的BEARER、CONSUMER_KEY、CONSUMER_SECRET、ACCESS_KEY和ACCESS_SECRET。如果您不知道如何找到它们,可以查看开发者平台-> 开发者门户 -> 项目和应用程序 -> 点击您的项目 -> 然后查找“密钥和令牌”

import tweepy

client = tweepy.Client(bearer_token=BEARER, consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, access_token=ACCESS_KEY, access_token_secret=ACCESS_SECRET)

client.create_tweet(text="Yeah boy! I did it")

这对我有用,经过100%的测试。我仍然不知道是否可以使用V2引用或回复推文。


很遗憾,这不再有效。tweepy.errors.Forbidden: 403 Forbidden 453 - 您目前只有访问Twitter API v2端点和有限的v1.1端点的权限。如果您需要访问此端点,则可能需要不同的访问级别。 - Hack-R
确实。连家具都卖了,我明白。现在的问题是我们是关闭问题还是删除过时的答案。 - Hack-R
我再试了一次。对我来说有效。也许对于旧的API也有效,我不知道。但无论如何,这是tweepy的正确代码。 - Peyman
公平地说,代码是正确的。我认为它只有在您拥有高级或学术账户的情况下才能为您工作。仅出于我的理解和确认 - 是这种情况吗?我很想再次使用我的免费账户使其正常工作... - Hack-R
我不记得我的账户类型,该怎么查看?目前,在我的“产品”部分中写着Twitter API v2,就像这个问题所问的那样。附注:就在我所在的页面下面,写着“免费功能:管理推文,在用户的名义下创建和删除推文。” - Peyman
可能在某个时候它有效,但现在已经不起作用了。是时候离开 Twitter 了... 有什么推荐吗? - D.L

0

在第一种情况下,由于您抑制了实际错误并将其打印在任何异常上,因此无法确定发生了什么。您需要为任何人提供完整的回溯以了解发生了什么。

但是,如果您具有Twitter API的Essential访问权限,则无法使用Twitter API v1.1,并且您将遇到403 Forbidden错误。 有关更多信息,请参见Tweepy文档中的有关此问题的FAQ部分

对于后一种错误,请确保您的应用程序具有写入权限。
有关更多信息,请参见Tweepy文档中的有关此问题的FAQ部分


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接