File size: 4,654 Bytes
2988599 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | # 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.
|