VERAGENLearn
Learn / Documentation / Connecting X

Connecting X

Connecting an X account

Beacon posts to X through an app of your own in X’s developer portal. Connecting needs an account owner or admin.

1. Open your app in X’s developer portal

Go to developer.x.com → Projects & Apps and open (or create) the app you want to use. Everything below is inside that app.

2. Turn on user authentication

  1. Open User authentication settings and press Set up (or Edit). If you cannot find it, you are looking at the project rather than the app — open the app first.
  2. Set App permissions to Read and write, so Beacon can post.
  3. Set Type of App to Web App, Automated App or Bot.

3. Register the callback address

In the same screen, Callback URI / Redirect URL is a list, and X refuses any address not on it, character for character.

Beacon shows its address in Accounts → App credentials, after Register this callback with X. Copy it rather than typing it.

Using one app elsewhere too? Add this address to its list. Adding an address does not replace the others. If the address is missing, X shows a black page reading “Something went wrong — You weren’t able to give access to the App”, which looks like a problem with your account and is not.

4. Copy the Client ID and Client Secret

Open Keys and tokens and, under OAuth 2.0 Client ID and Client Secret, copy both. The secret is shown once, when it is created or regenerated; if you did not keep it, regenerate it. The API Key, API Secret and Bearer Token higher up the page will not work here.

5. Save them, then connect

In Beacon, open Accounts → App credentials beside X. Paste the Client id and Client secret, press Save credentials, then press Connect an account and approve on X. When you return, the screen names the account it connected.

If your browser fills the two boxes in for you — a text box above a password box looks like a sign-in form — clear them before saving. Saving an autofilled email as the Client ID replaces working credentials.

If it still will not connect

“Something went wrong” on X’s own pageThe callback address is not on the app’s list, or does not match exactly.
X needs API credits, or posts fail with a payment errorX charges each app for its API use. Add credit to the app under Billing in the developer portal; credit on a different app does nothing for this one.
Authorization expired, or Beacon shows ReconnectThe permission was revoked on X, or the connection was never completed. Connect again; the credentials rarely need changing.
The network refused to trade the code for a tokenAlmost always a wrong Client Secret, or a callback address the app is not registered for.