Facebook Graph API setup for minipostiz-cli — create app, get page access token + page ID, store credentials
Scanned 5/29/2026
Install via CLI
openskills install javimosch/supercli---
name: minipostiz-facebook-setup
description: Facebook Graph API setup for minipostiz-cli — create app, get page access token + page ID, store credentials
type: setup
---
# minipostiz-cli — Facebook Setup
minipostiz-cli posts to **Facebook Pages** (not personal profiles — the Graph API doesn't support personal timeline posts). You need a Page Access Token and the Page ID.
## What you need
| Credential | Flag |
|------------|------|
| Page Access Token | `--pageAccessToken` |
| Page ID | `--pageId` |
---
## Step 1 — Create a Facebook App
1. Go to https://developers.facebook.com/apps → **Create App**
2. Choose **"Authenticate and request data from users"** use case (Consumer type) → **Next**
- ⚠️ Do NOT pick Business type — it won't show `pages_manage_posts` in Graph Explorer
3. Fill in app name and contact email → **Create App**
---
## Step 2 — Add Pages permissions via Use Cases
The new Facebook developer dashboard (2024+) uses **use cases** instead of individual permission requests:
1. In your app dashboard → click **"Customize the Manage everything on your Page use case"**
2. Add the following permissions to that use case:
- `pages_manage_posts`
- `pages_read_engagement`
3. Save — these are available in development mode without App Review for pages you admin
> **Note:** There is no longer an "App Review → Permissions and Features" link in the dashboard. The use case customization screen is the replacement.
---
## Step 3 — Get your Page Access Token
**Via Graph API Explorer (recommended):**
1. Go to https://developers.facebook.com/tools/explorer/
2. Select your app in the **Application** dropdown
3. Click the blue **Generate Access Token** button (opens a Facebook Login popup — NOT "Get App Token")
4. In the **Permissions** list, add `pages_manage_posts` and `pages_read_engagement`
5. Authorize → in the **User or Page** dropdown → switch to your **Page** (e.g. "Savoie Tech")
6. Copy the Page Access Token shown
**Get your Page ID and a proper Page Token via curl (alternative):**
```bash
# Use the User token to list all pages you manage + their page tokens
curl "https://graph.facebook.com/v21.0/me/accounts?access_token=YOUR_USER_TOKEN"
# Response includes each page's id and access_token — use those directly
```
**Get a long-lived token (60 days instead of ~1 hour):**
```bash
curl "https://graph.facebook.com/v21.0/oauth/access_token?\
grant_type=fb_exchange_token&\
client_id=YOUR_APP_ID&\
client_secret=YOUR_APP_SECRET&\
fb_exchange_token=YOUR_SHORT_LIVED_PAGE_TOKEN"
```
---
## Step 4 — Store in minipostiz-cli
```bash
minipostiz auth --platform facebook \
--pageAccessToken "YOUR_PAGE_ACCESS_TOKEN" \
--pageId "123456789012345"
# Or via supercli
sc minipostiz auth set-facebook \
--pageAccessToken "YOUR_PAGE_ACCESS_TOKEN" \
--pageId "123456789012345"
```
---
## Step 5 — Test
```bash
minipostiz auth verify --platform facebook
minipostiz publish --platform facebook --message "Hello from minipostiz-cli"
```
---
## Troubleshooting
| Error | Cause | Fix |
|-------|-------|-----|
| `190 Invalid OAuth access token` | Token expired or wrong type | Regenerate — ensure you clicked **Generate Access Token** (not "Get App Token") and switched to the **Page** token |
| `283 Requires pages_read_engagement` | Missing permission on token | Re-generate token with `pages_read_engagement` added; ensure use case is configured in app dashboard |
| `200 Permission error` | Missing `pages_manage_posts` | Add permission via use case customization in app dashboard |
| `100 Object does not exist` | Token is a User token, not Page token | Switch to Page in the User/Page dropdown in Graph Explorer |
| `368 Blocked` | Page or account restricted | Check Page Quality in Facebook Business Suite |
## Token lifetime
- **Short-lived Page Token:** ~1-2 hours
- **Long-lived Page Token:** ~60 days (use the exchange flow above)
- **Never-expiring Page Token:** possible for some page roles — check Meta docs
## Re-generating tokens
When your token expires, repeat Step 3 (Graph API Explorer) and update:
```bash
minipostiz auth --platform facebook \
--pageAccessToken "NEW_TOKEN" \
--pageId "YOUR_PAGE_ID"
```
No comments yet. Be the first to comment!