Facebook Access Token สำหรับเพจ


115

ฉันมีหน้า Facebook ที่ฉันต้องการได้รับบางสิ่งบางอย่างจากมัน สิ่งแรกคือฟีดและจากสิ่งที่ฉันอ่านมันเป็นแบบสาธารณะ (ไม่จำเป็นต้องใช้ access_token) แต่ฉันต้องการรับกิจกรรม ... และพวกเขาไม่ได้เป็นสาธารณะและต้องการ access_token

ฉันไม่ต้องการให้ผู้ใช้ล็อกอินใน Facebook หรืออะไรทำนองนั้น ฉันแค่ต้องการส่งข้อมูลทั้งหมดที่ทำได้จากหน้านี้เท่านั้น นั่นเป็นเหตุผลที่ผมทิ้งแล้วหลายตัวอย่างที่ผมพบได้ที่นี่และเป็นหนึ่งในhttps://developers.facebook.com/blog/post/500/เพราะพวกเขาต้องการให้ผู้ใช้เข้าสู่ระบบหรือต้องมีการกระทำของผู้ใช้บางอย่างผมไม่ได้ interessed

สิ่งที่ฉันต้องการคือแอปพลิเคชัน Facebook ของฉันมีการอนุญาตอย่างสมบูรณ์และ access_token เพื่อผลักดันข้อมูลจากหน้า Facebook ที่ฉันเป็นเจ้าของ (ผู้ดูแลระบบ) เป็นไปได้หรือไม่ ฉันลองมาหลายอย่างแล้ว แต่ดูเหมือนจะไม่ได้ผล

ฉันลองคลิกที่: https://www.facebook.com/dialog/oauth?client_id=150635421702954&redirect_uri=http://MY_URL/&scope=manage_pages&response_type=token&fields=access_token - เปลี่ยน MY_URL เป็นไซต์ของฉันและขอการอนุญาตในการแก้ไขทุกๆ เพจฉันเป็นเจ้าของ แม้จะไม่เป็นสิ่งที่ฉันต้องการฉันก็คลิก แต่ไม่มี access_token ตอบแทน ...


หากต้องการรับเหตุการณ์ฉันทำสิ่งนี้ทันที (access_token หมดอายุเป็นจำนวนมาก): 1 - รับโทเค็นจาก Graph Explorer 2 - วางลงในโค้ดของฉันด้านล่าง: var authToken = 'THE_CODE_I_GOT'; var feedQuery = 'graph.facebook.com/MY_PAGE_ID/feed'; var feedURL = feedQuery +'?access_token='+ authToken +'&callback=?'; $.getJSON(feedURL,function(data){ var d = data.data; สำหรับ (i = 0; i <d.length; i ++) {d [i] .message? $ ("# รายการ") ผนวก ('<li>' + d [i] .message + '</li>'): ''; // อื่น ๆ อีกเพียบเลยค่ะ}}); `
bsides

1
คุณสามารถรับโทเค็นถาวรได้: stackoverflow.com/questions/17197970/…
Josh

คำตอบ:


269
  1. ไปที่Graph API Explorer
  2. เลือกแอปของคุณจากเมนูแบบเลื่อนลง
  3. คลิก "รับโทเค็นการเข้าถึง"
  4. เลือกการmanage_pagesอนุญาต (คุณอาจต้องuser_eventsได้รับอนุญาตด้วยไม่แน่ใจ)
  5. ตอนนี้เข้าถึงการme/accountsเชื่อมต่อและคัดลอกหน้าของคุณaccess_token
  6. คลิกที่ ID ของเพจของคุณ
  7. เพิ่มหน้าaccess_tokenลงในช่อง GET
  8. สอบถามการเชื่อมต่อที่คุณต้องการ (เช่นPAGE_ID/events)

1
การทำเช่นนี้ทำให้ฉันสามารถเรียกการเชื่อมต่อบนเพจทั้งหมดของฉันได้โดยใช้โทเค็นของเพจเพียงรายการเดียว นี่ไม่ผิดเหรอ? มีวิธีรับโทเค็นสำหรับเพจเฉพาะเพจเดียวที่ใช้ไม่ได้กับเพจอื่นหรือไม่?
andresp

112
ฉันปีนภูเขาและว่ายน้ำในมหาสมุทรเพียงแค่แสวงหาคำตอบนี้ ขอบคุณ.
IMB

15
กระบวนการนี้ใช้ไม่ได้อีกต่อไปเนื่องจากโทเค็นการเข้าถึงที่สร้างขึ้นจะหมดอายุเมื่อคุณออกจากระบบด้วยเหตุผลใดก็ตาม
coneybeare

1
@coneybeare โปรดดูเอกสารนี้เกี่ยวกับวิธีการขยายโทเค็นการเข้าถึงเพจ
ifaour

1
ฉันได้รับผลลัพธ์ที่ว่างเปล่าเรื่อย ๆ มันสร้างความแตกต่างหรือไม่ถ้าเป็นหน้าแอพ?
สูงสุด

16

ดูที่นี่หากคุณต้องการให้สิทธิ์การเข้าถึงเพจ Facebook App แบบถาวร (แม้ว่าคุณ / เจ้าของแอพจะออกจากระบบแล้วก็ตาม):

http://developers.facebook.com/docs/opengraph/using-app-tokens/

"โทเค็นการเข้าถึงแอปจะไม่มีวันหมดอายุเว้นแต่คุณจะรีเฟรชข้อมูลลับของแอปพลิเคชันผ่านการตั้งค่าแอปของคุณ"


6
สิ่งนี้ไม่ได้ช่วยในการรับกิจกรรมสำหรับเพจที่ถูก จำกัด
Sinan

2
ยังมีอยู่จริงหรือไม่!
jeromej

5

เอกสารสำหรับเรื่องนี้ดีถ้าหาไม่ยากสักหน่อย

Facebook Graph API - โทเค็นเพจ

หลังจากเริ่มต้นfbgraphของโหนดคุณสามารถเรียกใช้:

var facebookAccountID = yourAccountIdHere 

graph
.setOptions(options)
.get(facebookAccountId + "/accounts", function(err, res) {
  console.log(res); 
});

และรับการตอบกลับ JSON พร้อมโทเค็นที่คุณต้องการคว้าซึ่งอยู่ที่:

res.data[0].access_token
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.