英文:
Why does Twitter API return the error 'If you need access to this endpoint, you may need a different access level?'
问题
我正在尝试使用Python使用此函数
def create_thread(message_text, media_ids=None):
tweets = [message_text[i:i + 280] for i in range(0, len(message_text), 280)]
if media_ids:
response = client_v1.update_status(status=tweets[0], media_ids=media_ids)
else:
response = client_v2.create_tweet(text=tweets[0])
for tweet in tweets[1:]:
response = client_v2.create_tweet(text=tweet, reply_settings={'reply': {'id': response.id}})
return response
我在Twitter上拥有提升的访问权限,并且我支付了基本计划,该计划包括我正在尝试在Twitter API V2和V1.1中使用的访问权限,但当我尝试使用此函数时,它返回错误:
response = client_v1.update_status(status=tweets[0], media_ids=media_ids)
tweepy.errors.Forbidden: 403 Forbidden
453 - 您目前只能访问Twitter API v2端点和有限的v1.1端点。如果您需要访问此端点,您可能需要不同的访问级别。您可以在此处了解更多信息:https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api#v2-access-leve
[基本计划的权益表](https://i.stack.imgur.com/WvRcr.png)
该函数发布带有图像和标题的帖子
英文:
I'm trying to use this function with Python
def create_thread(message_text, media_ids=None):
tweets = [message_text[i:i + 280] for i in range(0, len(message_text), 280)]
if media_ids:
response = client_v1.update_status(status=tweets[0], media_ids=media_ids)
else:
response = client_v2.create_tweet(text=tweets[0])
for tweet in tweets[1:]:
response = client_v2.create_tweet(text=tweet, reply_settings={'reply': {'id': response.id}})
return response
I Have Elevated Access in Twitter and I pay for the Basic plan, which includes the access that I am trying to use in Twitter API V2 and V1.1, but when I try to use this function, it returns the error:
response = client_v1.update_status(status=tweets[0], media_ids=media_ids)
tweepy.errors.Forbidden: 403 Forbidden
453 - You currently have access to Twitter API v2 endpoints and limited v1.1 endpoints only. If you need access to this endpoint, you may need a different access level. You can learn more here: https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api#v2-access-leve
Table of benefits of basic plan
The function tweets a post with an image and a caption
答案1
得分: 2
api v1.1
中的UPDATE_STATUS
已被弃用,他们没有更新文档和免费/基本/高级计划的收益表。
解决方案:将update_status
函数更改为create tweet
之前:
response = client_v1.update_status(status=tweets[0], media_ids=media_ids)
正确方式:
response = client_v2.create_tweet(text=tweets[0], media_ids=media_ids)
文档中表示create tweet
不支持media_ids
,但实际上是支持的。此外,我一直尝试使用update_status
,并将文本发送为Status=tweets[0]
,但必须更改为text=tweets[0]
。
英文:
UPDATE_STATUS
in api v1.1 is deprecated and they didnt updated the documentation and the table of benefits for Free/ basic / premium plan.
The solution: Change update_status function to create tweet
Before:
response = client_v1.update_status(status=tweets[0], media_ids=media_ids)
Correct:
response = client_v2.create_tweet(text=tweets[0], media_ids=media_ids)
the documentation says that create tweet doesn't work with media_ids
, but it worked. Also, I have been trying update_status
with the text being sent as Status=tweets[0]
, but must be exchanged to text=tweets[0]
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论