2012-08-28 4 views
8

मुख्य उद्देश्य: फेसबुक ऐप के लिए असीमित वैधता के साथ मुझे एक्सेस टोकन कैसे प्राप्त किया जा सकता है?एक लंबे समय तक चलने वाली फेसबुक एक्सेस टोकन कैसे प्राप्त करें?

पृष्ठभूमि जानकारी

हम निम्नलिखित की स्थापना के साथ MyApp नामक एक अमेरिकन प्लान एप्लिकेशन है:

  • MyApp हमारे फेसबुक अनुप्रयोग के साथ बातचीत करने के लिए अधिकृत किया गया है
  • MyApp प्रबंधन करने के लिए पहुँच अधिकार है हमारे पेज (manage_pages)
  • MyApp के पास अंतर्दृष्टि (read_insights)
तक पहुंच है

हमारा लक्ष्य अंतर्दृष्टि डेटा स्वचालित रूप से निकालना है, उदा। एक बार हर रात।

OAuth साथ प्रयास उत्पन्न एप्लिकेशन टोकन

  1. प्राप्त APP_ACCESS_TOKEN MyApp

    से संबंधित

    graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credentials

    सेवानिवृत्त टोकन का उदाहरण: 328467452729456598 | Wn2Gt69Ofg5ySdOGa3TsP2p4R

  2. उपयोग APP_ACCESS_TOKEN graph.facebook.com/me/accounts?access_token=APP_ACCESS_TOKEN PAGE_ACCESS_TOKEN

  3. उपयोग प्रत्येक पृष्ठ के लिए PAGE_ACCESS_TOKEN प्राप्त करने के लिए पृष्ठ की जानकारी डेटा को प्राप्त करने के लिए: graph.facebook.com/YOUR_APP_ID/ अंतर्दृष्टि ACCESS_TOKEN = PAGE_ACCESS_TOKEN

मेरे समस्या यह है कि APP_ACCESS_TOKEN मैं चरण 1 से प्राप्त निम्न त्रुटि में जिसके परिणामस्वरूप जब चरण 2 चल रहा है, टोकन के उपयोगकर्ता हिस्सा गायब होने लगता है है:

ग्राफ़ एक्सप्लोरर API टोकन

से लिया गया टोकन के माध्यम से 10

"message": "An active access token must be used to query information about the current user.", 
"type": "OAuthException", 
"code": 2500 

प्रयास अगर मैं का उपयोग APP_ACCESS_TOKEN ग्राफ़ एपीआई एक्सप्लोरर (https://developers.facebook.com/tools/explorer), मैं पाने के माध्यम से प्राप्त की उपयोगकर्ता भाग के साथ एक टोकन जो काफी लंबा है। यदि मैं चरण 2 और 3 में इस टोकन का उपयोग करता हूं, तो मुझे सही डेटा मिलता है, लेकिन सभी टोकन केवल 2 घंटे के लिए मान्य होते हैं, और बाद में मैं इनसाइट डेटा के स्वचालित पुनर्प्राप्ति के लिए इसका उपयोग नहीं कर सकता। लंबे समय तक रहते थे टोकन

इस गाइड में उल्लिखित सभी चरणों के बाद के लिए कम रहता टोकन का आदान प्रदान के साथ

प्रयास: https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token, मैं एक लंबे समय तक रहते थे एक के लिए एक छोटी रहते टोकन का आदान प्रदान करने की कोशिश की।

"message": "No user access token specified", 
    "type": "OAuthException", 
    "code": 1 

अगर मैं टोकन एक्सचेंज विधि में ग्राफ़ एक्सप्लोरर से मैन्युअल रूप से प्राप्त का उपयोग करें, मैं प्राप्त कर सकते हैं:

अगर मैं कोशिश का उपयोग टोकन OAuth प्रक्रिया से विनिमय करने के लिए, मैं त्रुटि मिलती है काम करने के लिए अन्य कदम भी, लेकिन यह नया टोकन कब तक रहता है? यदि टोकन x दिनों के बाद या किसी अन्य घटना के बाद समाप्त हो जाता है, तो मुझे अभी भी प्रारंभिक टोकन प्रोग्रामेटिक रूप से प्राप्त करने के मुद्दे का सामना करना पड़ेगा (जैसा कि ग्राफिक्स से मैन्युअल रूप से हर किसी के विपरीत है)।

तो क्या किसी को पता है कि मैं इसे हल करने के लिए एक लंबे समय तक, स्वचालित रूप से पुनर्प्राप्त टोकन कैसे प्राप्त कर सकता हूं?

धन्यवाद!

+0

आप/मुझे/accounts', नहीं किसी ऐप पहुँच टोकन क्वेरी करने के लिए एक _user_ पहुँच टोकन की जरूरत है '। – CBroe

उत्तर

-1

चरण 2 में, आपको /accounts API एंडपॉइंट तक पहुंचने के लिए उपयोगकर्ता के access_token का उपयोग करना होगा। आप ऐप एक्सेस टोकन का उपयोग यहां नहीं कर सकते हैं।

क्या करना चाहिए है:

  1. एक लंबे समय से सक्रिय पृष्ठ पहुँच टोकन
  2. पाने के लिए फेसबुक
  3. एक्सचेंज एक लंबे समय से रहते थे टोकन
  4. कॉल /accounts के लिए ACCESS_TOKEN से उपयोगकर्ता की पहुँच टोकन प्राप्त करें
  5. लंबी अवधि के टोकन का उपयोग करके पृष्ठ की अंतर्दृष्टि एक्सेस करें जब तक कि यह
  6. चरण 1-4 दोहराएं।
+0

क्या आपका मतलब ऐप का [उपयोगकर्ता टोकन] है (https://developers.facebook.com/tools/access_token/)? यदि हां, तो क्या यह प्रोग्रामेटिक रूप से प्राप्त करने का कोई तरीका है? (मैं उपयोगकर्ता acces – user1597852

+0

के साथ प्रयास कर रहा हूं मैंने ऐप 'access_token'" उपयोगकर्ता टोकन "नहीं कहा है। प्रोग्राम के लिए आपको जो चाहिए उसे प्राप्त करने के लिए ऊपर दिए गए निर्देशों का पालन करें। चरण (3) में, मैं आपको एपीआई कॉल देता हूं ताकि access_token प्राप्त हो सके पृष्ठ। उपयोगकर्ता के 'access_token' –

+0

का उपयोग करके सबकुछ किया जाना चाहिए चरण (2)? –

2

इस खोल स्क्रिप्ट पहुंच टोकन को उत्पन्न करने में मदद करने का प्रयास:

https://github.com/dncohen/fb_token

+0

धन्यवाद, लेकिन अनुमतियां गतिशील भी होनी चाहिए – Dejell