Search code examples
pythonpython-3.xtwittertweepy

tweepy.errors.Forbidden: 403 Forbidden using Twitter API v2 functions in Tweepy?


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?


Solution

  • You most likely need to give your app write permission:

    Why am I encountering a 401 Unauthorized error with API or 403 Forbidden error with Client?

    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.

    https://tweepy.readthedocs.io/en/v4.6.0/faq.html#why-am-i-encountering-a-401-unauthorized-error-with-api-or-403-forbidden-error-with-client