Posts images (required — no text-only posts) to an Instagram Business account via two OAuth paths: via a Facebook Page (add your Meta app's App ID and secret below) or directly with Instagram Login (add your Instagram app's ID and secret below). Instagram provides no API to edit or delete published media.
Instagram publishing uses Meta's Instagram Platform OAuth, in one of two variants: via a linked Facebook Page, or direct Instagram Login. Both are registered as a Meta app under the same developer console — you only need the App ID/secret pair for whichever variant(s) you'll offer.
At developers.facebook.com/apps, create a new Business-type app under your Meta Business account (or reuse an existing one).
OpenIn the app dashboard add the Facebook Login for Business + Instagram Graph API product, then copy the App ID and App Secret from Settings > Basic into FACEBOOK_APP_ID and FACEBOOK_APP_SECRET.
OpenIn the same app dashboard add the Instagram product and configure Business Login for Instagram; Meta issues a separate App ID/Secret pair for this — copy those into IG_APP_ID and IG_APP_SECRET.
OpenAdd social-manager's OAuth redirect URL (shown on its Connect screen) to the valid OAuth redirect URIs for whichever product(s) you configured.
Request instagram_basic and instagram_content_publish (plus pages_show_list for the Facebook Page variant), then submit for App Review so accounts beyond app admins/testers can be connected.
OpenPaste the App ID/secret pair(s) into social-manager's config, then click Connect and complete the OAuth popup to link the real Instagram Business account — no token is pasted manually.
For the "via Facebook Page" login (IG Business account linked to a Page). developers.facebook.com → your app → Settings → Basic → App ID. Same value you'd use for Facebook.
Same app → Settings → Basic → App Secret (click Show). Only needed for the "via Facebook Page" login.
For the "Instagram direct" login (no Facebook Page). Add the Instagram product to the app → API setup with Instagram login → the SEPARATE "Instagram app ID" (not the Facebook App ID above).
Same Instagram product panel → "Instagram app secret". Distinct from the Facebook App secret, even in the same console.