2011-10-08 14 views
67

मैं एक ऐप बना रहा हूं जो उपयोगकर्ताओं को अपने फेसबुक फैन पेजों को प्रशासित करने की अनुमति देता है। यह निम्न दो पहुँच टोकन की आवश्यकता है:फेसबुक पेज एक्सेस टोकन - क्या ये समय समाप्त हो गया है?

  1. एक उपयोगकर्ता पहुँच टोकन
  2. एक पेज पहुंच टोकन

मैं उपयोगकर्ता पहुँच टोकन के साथ काफी परिचित हूँ, लेकिन नहीं के साथ पृष्ठ पहुँच टोकन।

क्या कोई जानता है कि पेज एक्सेस टोकन कब तक वैध रहता है? मैं फेसबुक वेबसाइट पर देख सकता हूं this succinct paragraph है, जो इसकी समाप्ति के बारे में कुछ भी नहीं बताता है।

क्या मुझे लगता है कि अगर मैं offline_access के साथ उपयोगकर्ता एक्सेस टोकन का अनुरोध कर रहा हूं तो पेज एक्सेस टोकन अनिश्चित काल तक भी जारी रहेगा (जब तक कि उपयोगकर्ता अपना पासवर्ड बदल नहीं लेता या मैन्युअल रूप से मेरे ऐप को प्राधिकृत नहीं करता)?

मैं पूछ रहा हूं क्योंकि मैं जानना चाहता हूं कि मुझे फेसबुक ग्राफ एपीआई से कितनी बार पूछना चाहिए और पेज एक्सेस टोकन प्राप्त करना चाहिए। क्या उपयोगकर्ता द्वारा पंजीकृत होने पर मुझे बस उनसे अनुरोध करना चाहिए? या क्या मुझे उन सभी एपीआई कॉल का अनुरोध करना चाहिए जब वे लगातार बदलते हैं? उत्तरार्द्ध स्पष्ट रूप से अधिक कर लग रहा है!

+2

+1 अच्छा प्रश्न, और अच्छी तरह से लिखा गया है। यदि आप पहले से नहीं हैं, तो आपको इसे फेसबुक पर फेसबुक डेवलपर समूह में भी रखना चाहिए। एक अच्छे प्रश्न के लिए –

+1

+1। यह निश्चित रूप से फेसबुक डेवलपर समूह में जोड़ा जाना चाहिए और आपको इसे दस्तावेज़ में जोड़ने का अनुरोध उत्पन्न करना चाहिए। मेरा आंत वृत्ति कहता है कि उपयोगकर्ता के टोकन समय के साथ बदलते ही इन टोकन बदल जाएंगे। उम्मीद है कि कोई अनुभव से बात कर सकता है। –

+0

बहुत अच्छा सवाल है। मैं भी आपके प्रश्न के बारे में उचित समाधान जानना चाहता हूं। –

उत्तर

2

फेसबुक पेज एक्सेस टोकन उपयोगकर्ता पहुंच टोकन के समान ही है, सिवाय इसके कि यह पृष्ठ के व्यवस्थापक के रूप में "उपयोगकर्ता का प्रतिरूपण करता है" और इसे प्रबंधित करने की अनुमति देता है [manage_page अनुमति आवश्यक है]।

Offline_access अनुमति एप्लिकेशन पेज ACCESS_TOKEN समाप्त नहीं होगी को दी जाती है (जब तक कि उपयोगकर्ता अपना पासवर्ड बदलता है या मैन्युअल रूप से ऐप्स deauthorises)

उपयोग नीचे दिए गए लिंक एक जारी पहुँच टोकन के विवरण की जांच करने के लिए ।

https://developers.facebook.com/tools/debug/

+0

यदि उपयोगकर्ता अपना पासवर्ड बदलता है तो आपको पृष्ठ के एक्सेस टोकन की समाप्ति के बारे में जानकारी कहां मिलती है? ऐसा नहीं है कि मैं आपको विश्वास नहीं करता, लेकिन अगर यह अनियंत्रित व्यवहार पर आधारित है, तो मुझे संदेह है कि यह परिवर्तन के अधीन है (दस्तावेज व्यवहार से भी अधिक परिवर्तन, जो हर समय भी बदलता है :)) –

+0

:) आपने जो कहा वह सही है। बिना किसी पूर्व सूचना के फेसबुक पर किसी भी समय बदल सकते हैं। :) यह एक्सेस टोकन के कामकाज का वर्णन करने वाले खंड में पाया गया था (यह एक आम वर्णन था)। मैंने उपर्युक्त लिंक का उपयोग करके भी परीक्षण किया है जो मान्य साबित हुआ है। लेकिन जैसा आपने कहा था शायद यह भविष्य में बदल सकता है। –

+4

** यह उत्तर ** दिनांकित है। Offr_access को बहिष्कृत किए जाने के बारे में @rmarscher द्वारा उत्तर देखें। – logan

41

पृष्ठ टोकन की समय सीमा समाप्त जब पहुँच टोकन उपयोगकर्ता किसी वेबपृष्ठ टोकन जेनरेट करने के लिए समाप्त हो रहा है। संपादित करें 6.28.2013: यदि आप extend the user access token और उपयोगकर्ता के लिए एक नया page access token प्राप्त करते हैं, तो उस पृष्ठ टोकन की समय सीमा समाप्त नहीं होगी जब तक कि उपयोगकर्ता आपके ऐप को अधिकृत नहीं करता।

ऑफ़लाइन पहुंच अब बहिष्कृत कर दी गई है, लेकिन आपको 60 दिनों तक पहुंचने के लिए टोकन तक पहुंचने की अनुमति है। यदि आप उपयोगकर्ता के एक्सेस टोकन का विस्तार करते हैं, तो उस उपयोगकर्ता खाते से उत्पन्न पृष्ठ टोकन भी से मेल खाने के लिए उनकी समाप्ति समाप्त हो जाएगी (संपादित 6.28.2013)। विस्तारित होने के बाद पेज टोकन के लिए मूल्य बदल सकता है, इसलिए उपयोगकर्ता टोकन को विस्तारित करने के बाद उपयोगकर्ता के /accounts ग्राफ़ कनेक्शन से नए पेज टोकन को पकड़ना सुनिश्चित करें।

आप प्रति दिन एक बार इन एक्सेस टोकन का विस्तार जारी रख सकते हैं। इसलिए आपको प्रत्येक दिन एक्सेस टोकन को पुन: उत्पन्न करना चाहिए जो उपयोगकर्ता आपके ऐप से इंटरैक्ट करता है।

देखें https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens https://developers.facebook.com/docs/facebook-login/access-tokens/#extending https://developers.facebook.com/docs/facebook-login/ जब आप कम समय पहुंच टोकन प्राप्त
https://developers.facebook.com/roadmap/offline-access-removal/ https://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/

+0

यह एक अच्छा जवाब था। इस जवाब के लिए हम अपने ऐप्स को तुरंत – Korayem

+3

+1 बदल देंगे। यहां पुष्टि करने का तरीका बताया गया है। ** पहले ** एक नया ऐप बनाएं और ऑफ़लाइन_एसीएस माइग्रेटन को सक्षम करें। ** दूसरा **, [graph api explorer] (https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Faccounts) में उस ऐप को 'manage_pages' के लिए एक्सेस टोकन प्रदान करें। ** तीसरा **, अपने पृष्ठों को '/ me/accounts' पर टोकन एक्सेस करें। ** अंत में ** [डीबग कंसोल] (https: //developers.facebook का उपयोग करें।कॉम/टूल्स/डीबग) एक्सेस टोकन समाप्ति की जांच करने के लिए। दरअसल, माइग्रेशन के बाद, ** पेज एक्सेस टोकन 1 घंटे के बाद समाप्त हो जाती है ** अनिश्चित काल तक चलने की बजाय। आपके ऐप्स को बदलने का समय! – logan

+0

'" उस उपयोगकर्ता खाते से उत्पन्न पेज टोकन भी उनके समाप्ति के लिए विस्तारित हो जाएगा "थोड़ा भ्रामक है। उपयोगकर्ता के पहुंच टोकन को विस्तारित करके, मौजूदा ** पृष्ठ पहुंच टोकन की समाप्ति ** में वृद्धि नहीं हुई है। इसके बजाय, उपयोगकर्ता के पहुंच टोकन को विस्तारित करने के बाद, ** आप '/ me/accounts' ** – logan

1

इस https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token देखें इस के अनुसार और यह लंबे समय तक जीना पहुँच टोकन यह केवल पेज पहुँच के लिए expair नहीं होगा करने के लिए विस्तार टोकन। परिदृश्य 5 देखें: पृष्ठ एक्सेस टोकन

1

इस मुद्दे पर फेसबुक के दस्तावेज़ (लंबे समय तक रहने वाले पृष्ठ पहुंच टोकन) वास्तविकता में क्या होता है उससे मेल नहीं खाता है। प्रलेखन का दावा है कि विस्तारित/लंबे समय तक रहने वाले उपयोगकर्ता पहुंच टोकन के माध्यम से प्राप्त पृष्ठ एक्सेस टोकन कभी समाप्त नहीं होंगे। हालांकि, हकीकत में, इन पेजों तक पहुंच टोकन 60 दिनों में समाप्त हो जाती है।

फेसबुक बग देखें: http://developers.facebook.com/bugs/461517520524921

0

पृष्ठ पहुंच टोकन को समाप्त हो गई है कर रहे हैं जब उपयोगकर्ता की पहुँच टोकन समाप्त हो। पृष्ठ पहुंच टोकन को लंबे समय तक बनाने के लिए आप 60 दिनों तक तक पहुंचने के लिए उपयोगकर्ता पहुंच टोकन का विस्तार कर सकते हैं।

my blog देखें और विस्तारित पहुंच टोकन प्राप्त करने और प्रशंसक पहुंच टोकन प्राप्त करने के चरण-दर-चरण निर्देशों का पालन करें।

+4

स्टैक ओवरफ़्लो में आपका स्वागत है! आपका उत्तर पोस्ट करने के लिए धन्यवाद! कृपया सावधानीपूर्वक [स्व-संवर्धन पर अक्सर पूछे जाने वाले प्रश्न] (http://stackoverflow.com/faq#promotion) को पढ़ना सुनिश्चित करें। यह भी ध्यान रखें कि यह * आवश्यक * है कि जब भी आप अपनी साइट/उत्पाद से लिंक करते हैं तो आप एक अस्वीकरण पोस्ट करते हैं। साथ ही, कृपया संक्षिप्त/obfuscated यूआरएल पोस्ट न करें; लोगों को यह देखने में सक्षम होना चाहिए कि उनके क्लिक कहां खत्म हो रहे हैं। –

+1

धन्यवाद ... मैं अपने भविष्य के उत्तरों पर इसके बारे में सावधानी से विचार करूंगा .. –

1
  • डिफ़ॉल्ट पृष्ठ एक्सेस टोकन अल्पकालिक रहता है, इसलिए वे 1 या 2 घंटे में समाप्त हो जाते हैं। यदि आप इसे लंबे समय तक बनाना चाहते हैं तो आपको दीर्घकालिक पहुंच टोकन में अल्पकालिक रहने की आवश्यकता है ताकि यह लगभग 2 महीने तक टिके।
  • अनुमति offline_access अब बहिष्कृत है।
  • उपयोगकर्ता परिवर्तन पासवर्ड होने पर पहुंच टोकन समाप्त नहीं होता है।

एक अन्य प्रश्न में मैं How to extend Page access token समझाता हूं।

4

मुझे यकीन नहीं है कि फेसबुक ने इन बग को ठीक करने के लिए बदलाव किए हैं या नहीं, लेकिन ऐसा लगता है कि उपयोगकर्ता पहुंच टोकन उपयोगकर्ता के लिए पेज एक्सेस टोकन प्रदान किए जाने के बाद समाप्त नहीं होता है। मेरी प्रवाह परीक्षण के आधार पर कुछ इस तरह चला जाता है: -> 60 दिन उपयोगकर्ता टोकन जारी किया जाता है

  • पृष्ठ पहुंच टोकन का अनुरोध किया -

    1. उपयोगकर्ता पहुँच टोकन का अनुरोध किया> पेज पहुंच टोकन जारी किए गए है कि समाप्त हो गई है और प्रारंभिक उपयोगकर्ता पहुँच टोकन कभी नहीं कभी भी समाप्त होने के लिए अपग्रेड किया गया है।

    आशा है कि यह यहां पर कुछ भ्रम को साफ़ कर देगा। मैंने अपने ऐप में कई अलग-अलग उपयोगकर्ताओं के साथ इसका परीक्षण किया है और हर बार एक ही चीज़ देखते हैं।

    यदि पृष्ठ एक्सेस टोकन का अनुरोध नहीं किया जाता है, तो मूल उपयोगकर्ता पहुंच टोकन 60 दिनों के बाद समाप्त हो जाएगा।

  • +0

    क्या यह अभी भी मामला है? – Wesley

    +0

    मेरे अपने प्रश्न का उत्तर देते हुए, हाँ यह अभी भी काम करता है। हालांकि, यह काम नहीं करता है अगर उपयोगकर्ता के पास कोई पृष्ठ नहीं है (मुझे लगता है कि समझ में आता है) - क्या पृष्ठों के बिना उपयोगकर्ताओं के लिए काम करने का कोई तरीका है? – Wesley

    +0

    हां, यह अभी भी मामला है। यदि फेसबुक इसे ठीक करने का निर्णय लेता है और उपयोगकर्ता पहुंच टोकन को अमान्य कर देता है तो मैं पेज एक्सेस टोकन का उपयोग सुरक्षित रखूंगा। – ozren1983

    11

    आप कभी भी समाप्त होने के लिए पृष्ठ एक्सेस टोकन का विस्तार कर सकते हैं। दस्तावेज थोड़ा गंदा है, लेकिन निम्नलिखित पृष्ठों में प्रासंगिक जानकारी है, और आपको स्पष्ट रूप से पृष्ठ के व्यवस्थापक होने की आवश्यकता होगी। दूसरे लिंक पर परिदृश्य 4 और 5 पर ध्यान दें।

    https://developers.facebook.com/docs/reference/api/page/#page_access_tokens https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token

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

    अपना टोकन पुनर्प्राप्त करने के लिए Get Access टोकन बटन पर क्लिक करें। अपनी आईडी को क्वेरी बार में रखते हुए, बस अपनी आईडी में संलग्न/खाते बनाएं, ताकि ऐसा दिखाई दे: /123456789101112/accounts। सुनिश्चित करें कि यह एक GET अनुरोध है (क्वेरी बार के बाईं ओर ड्रॉप-डाउन)।

    यह उन सभी पृष्ठों को पुनर्प्राप्त करेगा जिन्हें आप काम करने के लिए कॉन्फ़िगर किए गए हैं। फिर आप को GET अनुरोध बनाने की जरूरत है:

    /oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN 
    

    आपका APP_ID और APP_SECRET अपने अनुप्रयोगों प्रशासन सेटिंग्स में पाया जा सकता है। अंतिम पैरामीटर (EXISTING_ACCESS_TOKEN) के रूप में अपनी व्यक्तिगत पहुंच टोकन का उपयोग करें। यह एक 60 दिन व्यक्तिगत पहुंच टोकन वापस करेगा। इस टोकन को एक्सेस टोकन बार में कॉपी करें, जो क्वेरी बार के ऊपर है। अब USER_ID/खातों के लिए एक GET अनुरोध करें जैसे हमने शुरुआत की ओर किया था। यह फिर से उन पृष्ठों की एक सूची लौटाएगा जिनके साथ आप काम करने के लिए कॉन्फ़िगर किए गए हैं।

    लेकिन इस बार पृष्ठ के साथ सूचीबद्ध पृष्ठ टोकन समाप्त नहीं होते हैं। आप एक्सेस टोकन बार में पेज टोकन कॉपी करके और डीबग बटन पर क्लिक करके इसे देख सकते हैं। इससे आपको उस एक्सेस टोकन पर विवरण मिलेगा, जिसमें समाप्ति समय भी शामिल है, जो इस मामले में कभी नहीं होना चाहिए।

    अद्यतन

    मैंने यह भी पाया गया है कि फेसबुक के ग्राफ एक्सप्लोरर कभी कभी उपयोगकर्ता के संदर्भ के साथ भ्रमित हो, और हर समय विश्वसनीय नहीं हो सकता। विकल्प Fiddler या Postman हैं।

    +1

    मैंने उन ऑपरेशन डेवलपर लव पोस्ट को कभी नहीं पढ़ा क्योंकि वे मेरे हथेलियों को पसीना बनाते हैं ... लेकिन धन्यवाद, अब मैं अपने क्रॉन नौकरी चलाने से पहले बुराई "पेज एक्सेस टोकन" अपडेट करने के लिए लंबे समय तक आराम कर सकता हूं .. :) – rapcal

    +0

    @ साइमन। विचार: क्या आपको पता है कि यह कभी भी टोकन की समाप्ति नहीं करेगा, उपयोगकर्ता की स्ट्रीम (या अन्य सार्वजनिक धाराओं) को लाने के लिए भी काम करेगा? मैं कोशिश करने के लिए दो महीने इंतजार कर सकता था, लेकिन इसके बजाय एक तेज जवाब होगा। thx – Wesley

    +0

    ये टोकन उस एप्लिकेशन के लिए हैं जो एक व्यवस्थापक को मंजूरी देगी, लेकिन इसके अलावा वे किसी भी अन्य पेज एक्सेस टोकन की तरह काम करते हैं। यदि आप पृष्ठ पर आने वाले किसी भी उपयोगकर्ता के बारे में पूछ रहे हैं, तो आपको प्रत्येक उपयोगकर्ता से अनुमोदन प्राप्त करना होगा। –