Autobotfb / SETUP_GUIDE.md
Offexb's picture
Deploy FB Auto Poster (image gen + scheduled FB posting)
2988599 verified
|
Raw History Blame Contribute Delete
4.65 kB
# SETUP GUIDE โ€” Facebook Page auto-posting
Is guide mein aap `FB_PAGE_ID` aur `FB_PAGE_ACCESS_TOKEN` banayenge. Ye do cheezein
bot ko aapke Page par post karne ki permission deti hain.
> **Note:** Aap apne hi Page ke admin hain, isliye app ko **Development mode** mein
> rakh kar bhi post kar sakte hain โ€” App Review ki zaroorat nahi (jab tak sirf aap
> aur aapke app roles waale log use kar rahe hain).
---
## Part A โ€” Facebook Developer App banao
1. Jao: https://developers.facebook.com โ†’ right-top **My Apps** โ†’ **Create App**.
2. "What do you want to do?" โ†’ **Other** chunein โ†’ Next.
3. App type โ†’ **Business** chunein โ†’ Next.
4. App ka naam daalein (jaise "My Auto Poster") โ†’ Create App.
5. App ban jaane par **App Settings โ†’ Basic** kholo. Yahan **App ID** aur
**App Secret** note kar lo โ€” aage kaam aayenge.
---
## Part B โ€” Access token generate karo (Graph API Explorer)
1. Kholo: https://developers.facebook.com/tools/explorer
2. Top-right **Meta App** dropdown mein apna naya app select karo.
3. **Permissions** mein ye add karo (ek-ek karke search karke tick karein):
- `pages_show_list`
- `pages_manage_posts`
- `pages_read_engagement`
- `pages_manage_metadata`
- `business_management`
- `public_profile`
4. **Generate Access Token** dabao โ†’ Facebook login window aayega โ†’ apne Page
waale account se allow karo.
5. Ab Explorer mein token ban gaya hai (ye **short-lived User token** hai, ~1 ghante).
---
## Part C โ€” Page ID aur Page token nikaalo
Explorer mein method `GET` rakho aur path likho:
```
me/accounts
```
**Submit** dabao. Response aisa dikhega:
```json
{
"data": [
{
"name": "Aapke Page ka naam",
"id": "123456789012345",
"access_token": "EAAG...page-token..."
}
]
}
```
- `id` โ†’ ye aapka **FB_PAGE_ID** hai (jis page par post karna hai).
- `access_token` โ†’ ye **Page access token** hai (abhi short-lived).
---
## Part D โ€” Token ko long-lived banao (zaroori!)
Short-lived token ~1 ghante mein expire ho jaata hai. Isko **long-lived** banayein:
### D1. User token ko long-lived karo
Explorer mein ya browser mein ye URL chalao (values apni daalein):
```
https://graph.facebook.com/v21.0/oauth/access_token?grant_type=fb_exchange_token&client_id={APP_ID}&client_secret={APP_SECRET}&fb_exchange_token={SHORT_USER_TOKEN}
```
Response mein `access_token` milega โ€” ye **long-lived User token** hai (~60 din).
### D2. Long-lived Page token lo
Ab Explorer mein (ya browser mein) is **long-lived User token** ke saath dobara:
```
me/accounts?access_token={LONG_LIVED_USER_TOKEN}
```
Is baar jo `access_token` milega wo **long-lived Page token** hai โ€” practically
kabhi expire nahi hota (jab tak aap admin rahein aur user token valid rahe).
**Yahi value `FB_PAGE_ACCESS_TOKEN` mein daalein.**
> Tip: token ki validity check karne ke liye **Access Token Debugger** use karo:
> https://developers.facebook.com/tools/debug/accesstoken/
---
## Part E โ€” Hugging Face token (image generation ke liye)
1. Jao: https://huggingface.co/settings/tokens โ†’ **New token**.
2. Type: **Read** (ya Fine-grained mein "Make calls to Inference Providers" on karein).
3. Copy karke `HF_TOKEN` mein daalein.
---
## Part F โ€” Sab kuch test karo (optional, terminal se)
Page info check:
```bash
curl "https://graph.facebook.com/v21.0/{FB_PAGE_ID}?fields=name,fan_count&access_token={FB_PAGE_ACCESS_TOKEN}"
```
Ek test photo post (kisi public image URL se):
```bash
curl -X POST "https://graph.facebook.com/v21.0/{FB_PAGE_ID}/photos" \
-d "message=Test post from bot" \
-d "url=https://picsum.photos/1024" \
-d "access_token={FB_PAGE_ACCESS_TOKEN}"
```
Agar `{"id": "..."}` aata hai to sab theek hai โ€” token kaam kar raha hai.
---
## Common problems
| Problem | Wajah / Fix |
|---|---|
| `OAuthException: (#200) Permissions error` | Token mein `pages_manage_posts` permission nahi hai โ€” Part B dobara karein |
| `Error validating access token: expired` | Short-lived token use hua โ€” Part D follow karein (long-lived banao) |
| `(#190) This may be because the user logged out` | User token invalid โ€” dobara login karke naya token banao |
| Post page par nahi dikh raha | Confirm karein `FB_PAGE_ID` sahi page ka hai (Part C) |
| Image post fail, text chal raha | Image URL/bytes theek nahi โ€” bot disk se file bhejta hai, isliye `generated_images/` folder check karein |
---
## Security
- `FB_PAGE_ACCESS_TOKEN` ko kabhi code ya public repo mein na daalein.
- Sirf **Space Secrets** (ya environment variables) mein rakhein.
- Token leak ho jaaye to Explorer/App dashboard se **revoke** karein aur naya banayein.