I am just starting out with using Tweepy and have been having trouble when trying to use the v2 API functions to write a program to Tweet text. Currently, I am getting this error repeatedly:
Traceback (most recent call last):
File "C:\Users\xxxxxxxx\PycharmProjects\Twitter Bot\Twitter Bot.py", line 12, in <module>
response = client.create_tweet(text='Hello!')
File "C:\Users\xxxxxxxx\PycharmProjects\Twitter Bot\venv\lib\site-packages\tweepy\client.py", line 594, in create_tweet
return self._make_request(
File "C:\Users\xxxxxxxx\PycharmProjects\Twitter Bot\venv\lib\site-packages\tweepy\client.py", line 118, in _make_request
response = self.request(method, route, params=request_params,
File "C:\Users\xxxxxxxx\PycharmProjects\Twitter Bot\venv\lib\site-packages\tweepy\client.py", line 92, in request
raise Forbidden(response)
tweepy.errors.Forbidden: 403 Forbidden
Here is my current code:
import tweepy
import config
client = tweepy.Client(
consumer_key=config.api_key,
consumer_secret=config.api_secret,
access_token=config.access_token,
access_token_secret=config.access_secret
)
response = client.create_tweet(text='Hello!')
print(response)
I have tried regenerating my tokens and keys a few times now, with similar results. I have also tried searching online for other users who have encountered this error, but haven't had much luck finding anything besides others using v1 functions by mistake.
Is there anything I can do to fix this error?
CodePudding user response:
You most likely need to give your app write permission:
Why am I encountering a 401 Unauthorized error with
API
or 403 Forbidden error withClient
?If you’re using a method that performs an action on behalf of the authenticating user, e.g.
API.update_status()
, make sure your app has the write permission.After giving it the write permission, make sure to regenerate and use new credentials to utilize it.
See Twitter’s API documentation on app permissions for more information.