X is a bit different.
They created an oAuth2 flow, but it works only with Twitter v2 API.
But in order to upload pictures to X, you need to use the old Twitter v1 API.
So we are going to use the normal oAuth1 flow for that (that supports Twitter v2 also 🤷🏻‍).

Head over the Twitter developers page and create a new app.
Click to sign-up for a new free account

X

Click to edit the application settings X

The click to set up an authentication flow X

In the App Permission set it to Read and Write In the Type of App set it to Web App, Automated App or Bot In the App Info set the Callback URI / Redirect URL.


The OAuth2 Redirect URI is the location where the provider will redirect to after trying to login. This needs to set to your Postiz FRONTEND_URL + /integrations/social/ + x.

  • eg: If you are running on a container, and your Postiz URL is: https://postiz.example.com, then your OAuth2 Redirect URI is https://postiz.example.com/integrations/social/x
  • eg: If you are running on localhost, and your Postiz URL is http://localhost:4200, then your OAuth2 Redirect URI is http://localhost:4200/integrations/social/x

You only need to set one OAuth2 Redirect URI when you are setting up your Postiz app.

Save it and go to “Keys and Tokens” tab

Click on “Regenerate” inside “Consumer Keys” and copy the API Key and API Key Secret. Open .env file and add the following:

X_API_KEY=""
X_API_SECRET=""