ทำตามคำแนะนำที่วางไว้ในเอกสารประกอบโทเค็นหน้าที่ขยายของ Facebook ฉันสามารถรับโทเค็นการเข้าถึงเพจที่ไม่หมดอายุ
ฉันขอแนะนำให้ใช้Graph API Explorerสำหรับทุกขั้นตอนเหล่านี้ยกเว้นที่ระบุไว้เป็นอย่างอื่น
0. สร้างแอพ Facebook
หากคุณมีแอพอยู่แล้วข้ามไปที่ขั้นตอนที่ 1
- ไปที่แอปของฉัน
- คลิก "+ เพิ่มแอปใหม่"
- ตั้งค่าแอพเว็บไซต์
คุณไม่จำเป็นต้องเปลี่ยนการอนุญาตหรืออะไรก็ตาม คุณเพียงแค่ต้องการแอปที่จะไม่หายไปก่อนที่คุณจะทำกับโทเค็นการเข้าถึงของคุณ
1. รับโทเค็นการเข้าถึงระยะสั้นของผู้ใช้
- ไปที่API กราฟ Explorer ที่
- เลือกแอปพลิเคชันที่คุณต้องการรับโทเค็นการเข้าถึง (ในเมนูแบบเลื่อนลง "แอปพลิเคชัน" ไม่ใช่เมนู "แอปของฉัน")
- คลิก "รับโทเค็น"> "รับโทเค็นการเข้าถึงของผู้ใช้"
- ในป๊อปอัปภายใต้แท็บ "สิทธิ์เพิ่มเติม" ให้เลือก "manage_pages"
- คลิก "รับโทเค็นการเข้าถึง"
- ให้สิทธิ์การเข้าถึงจากบัญชี Facebook ที่มีสิทธิ์เข้าถึงเพื่อจัดการหน้าเป้าหมาย โปรดทราบว่าหากผู้ใช้รายนี้สูญเสียการเข้าถึงโทเค็นการเข้าถึงที่ไม่มีวันหมดอายุมีแนวโน้มที่จะหยุดทำงาน
โทเค็นที่ปรากฏในฟิลด์ "Access Token" คือโทเค็นการเข้าถึงระยะสั้นของคุณ
2. สร้างโทเค็นการเข้าถึงระยะยาว
ทำตามคำแนะนำเหล่านี้จากเอกสารของ Facebook ทำการร้องขอ GET
https://graph.facebook.com/v2.10/oauth/access_token?grant_type=fb_exchange_token&client_id= {APP_ID} & client_secret = {} app_secret & fb_exchange_token = {} short_lived_token
การป้อน ID และความลับของแอปและโทเค็นอายุสั้นที่สร้างขึ้นในขั้นตอนก่อนหน้า
คุณไม่สามารถใช้ API กราฟ Explorer ที่ ด้วยเหตุผลบางอย่างมันติดอยู่กับคำขอนี้ ฉันคิดว่าเป็นเพราะการตอบสนองไม่ใช่ JSON แต่เป็นสตริงข้อความค้นหา เนื่องจากเป็นคำขอ GET คุณสามารถไปที่ URL ในเบราว์เซอร์ของคุณ
การตอบสนองควรมีลักษณะดังนี้:
{"access_token": " ABC123 ", "token_type": "ผู้ถือ", "expires_in": 5183791}
"ABC123" จะเป็นโทเค็นการเข้าถึงที่ยาวนานของคุณ คุณสามารถใส่มันลงในAccess Token Debuggerเพื่อตรวจสอบ ภายใต้ "หมดอายุ" ควรมีบางอย่างเช่น "2 เดือน"
3. รับรหัสผู้ใช้
ใช้โทเค็นการเข้าถึงที่ยาวนานทำให้ได้รับการร้องขอ
https://graph.facebook.com/v2.10/me?access_token= {long_lived_access_token}
id
ฟิลด์เป็นรหัสบัญชีของคุณ คุณจะต้องการมันสำหรับขั้นตอนต่อไป
4. รับโทเค็นการเข้าถึงหน้าถาวร
ขอ GET
https://graph.facebook.com/v2.10/ {account_id} / บัญชี? access_token = {long_lived_access_token}
การตอบสนอง JSON ควรมีdata
เขตข้อมูลซึ่งเป็นอาเรย์ของรายการที่ผู้ใช้สามารถเข้าถึงได้ ค้นหารายการสำหรับเพจที่คุณต้องการโทเค็นการเข้าถึงอย่างถาวรจาก access_token
ข้อมูลควรมีโทเค็นการเข้าถึงของคุณถาวร คัดลอกและทดสอบในการดีบักเกอร์โทเค็นการเข้าถึง ภายใต้ "หมดอายุ" ควรพูดว่า "ไม่เคย"