Publit.Si

Connect Instagram

You create your own small app at Meta. It stays in Development mode: only you use it, so Meta doesn't need to review it. Publit.Si then posts with your own keys.

You need

  • The tunnel from step 3
  • An Instagram account you can switch to Professional
  • A Meta (Facebook) login for developers.facebook.com

Make the account Professional

  1. In the Instagram app: Settings → Account type and tools → Switch to professional account (Creator or Business). Posting through the API only works for professional accounts.

Create the Meta app

  1. Open developers.facebook.com → Create app.

    Meta for Developers, Create app: the use case Manage messaging & content on Instagram ticked
    1. 1:Manage messaging & content on Instagram
    Create app → use case Manage messaging & content on Instagram.
  2. Use case: Manage messaging & content on Instagram (the Instagram API). The app can stay in Development mode.

  3. Use cases → Customize → API setup with Instagram login. Meta marks it legacy and points to “Unified login”; Instagram login still works and is what Publit.Si uses.

  4. Add these permissions: instagram_business_basic and instagram_business_content_publish. For views and reach also instagram_business_manage_insights, to read comments in Publit.Si instagram_business_manage_comments.

    Customize use case, Instagram API: API setup with Instagram login, the Instagram app ID, the hidden app secret and the permissions
    1. 1:API setup with Instagram login
    2. 2:Instagram app ID
    3. 3:App secret (Show)
    4. 4:Permissions
    API setup with Instagram login: the Instagram app ID, the secret behind Show, and the permissions. Meta labels it legacy, but it works and is what Publit.Si uses. Some menus may show in your browser's language.

Add yourself as a tester

  1. App roles → Roles → Add People → Instagram Tester → enter your Instagram username. Testers then show in the All roles list.

    App roles, Roles: All roles table with Instagram Tester rows and the Add People button
    1. 1:App roles › Roles
    2. 2:Add People
    3. 3:Instagram Tester
    App roles → Roles → Add People → Instagram Tester: invite your account.
  2. Accept the invitation in Instagram: Settings → Website permissions → Apps and websites → Tester Invites → Accept. On the web it's at instagram.com/accounts/manage_access.

    Instagram settings, Apps and websites, the Tester Invites tab with the Publit.Si app
    1. 1:Tester Invites
    2. 2:Your app
    Instagram → Apps and websites → Tester Invites → accept. Afterwards it shows as authorized, like here.

“Insufficient developer role” when connecting means this invitation isn't accepted yet, or Chrome is signed in to another Instagram account.

Set the redirect URI

  1. In Publit.Si, open Settings › Platform setup › Instagram and copy the redirect URI. It looks like https://publish.example.com/oauth/instagram/callback.

    Publit.Si Settings, Platform setup: a card per platform with checks, a status badge and the redirect URI to copy
    1. 1:Status of the platform
    2. 2:Redirect URI to copy
    Settings › Platform setup: what's set for each platform and the exact redirect URI to copy.
  2. Meta: on API setup with Instagram login, step Set up Instagram business login → Business login settings → OAuth redirect URIs → paste it → Save.

    Business login settings dialog with the OAuth redirect URI of the tunnel filled in
    1. 1:OAuth redirect URIs
    2. 2:Save
    Business login settings → OAuth redirect URIs: paste the redirect URI from Publit.Si → Save.

Enter the keys

  1. Copy the Instagram app ID and the Instagram app secret (behind Show) from API setup with Instagram login. Not the Facebook app ID at the top of the page.

  2. Enter them in Publit.Si under Settings › Platform setup › Enter credentials, or in .env:

    INSTAGRAM_APP_ID=…
    INSTAGRAM_APP_SECRET=…
    INSTAGRAM_INSIGHTS=1   # if you added the insights permission
    INSTAGRAM_COMMENTS=1   # if you added the comments permission
    Enter credentials form in Publit.Si with the Google client ID filled in and the secret field empty
    1. 1:Client ID
    2. 2:Save and apply
    Enter credentials writes the keys into .env for you and restarts the services. Secrets are never shown again.

Several Instagram accounts? Create one Chrome profile per account and sign in to Instagram there. Publit.Si asks which profile to use when you connect.

Check

Settings › Platform setup › Instagram shows every item as set. In step 9 the connection shows your account.

Common problems

Stuck? Write to us. We're happy to help. Leave out secrets and tokens.