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

A newer version of the Gradio SDK is available: 6.31.0

Upgrade

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:

{
  "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:

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):

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.