2012-01-30 16 views
5

मैं कभी कभी यह त्रुटि प्राप्त:त्रुटि मान्य पहुंच टोकन

Fatal error: Uncaught Exception: 190: Error validating access token: This may be because the user logged out or may be due to a system error. thrown in ..base_facebook.php on line 1053

मुद्दा यह है कि मैं इसे यादृच्छिक समय पर मिलता है, बिना किसी चेतावनी है। मैं इसे देखे बिना सप्ताह जा सकता हूं, फिर अचानक यह आ जाएगा। समाधान? आप इसे इंतजार कर सकते हैं। यह इस त्रुटि को लगभग 15 मिनट तक फेंकता है तो आप रीफ्रेश कर सकते हैं और यह आपको जो भी कर रहा था उसके साथ जारी रखने की अनुमति देगा।

मेरा सवाल है, क्या यह मेरे अंत में एक मुद्दा है? या यह एक फेसबुक मुद्दा है? यह एक फेसबुक कनेक्ट पेज है अगर यह मदद करता है। मैंने शोध किया और पाया कि यह FQL क्वेरी से हो सकता है। लेकिन फिर यह कम से कम संगत नहीं होगा? ऐसा लगता है कि यह पूरी तरह से यादृच्छिक है। वैसे भी मेरे एफक्यूएल क्वेरी वैसे भी है।

$facebook->api(array('method' => 'fql.query','query' => "SELECT first_name,middle_name,last_name,email,affiliations FROM user WHERE uid=".$user)); 

यहाँ लाइनों Base_Facebook की 1052-1071,

protected function throwAPIException($result) { 
$e = new FacebookApiException($result); 
switch ($e->getType()) { 
    // OAuth 2.0 Draft 00 style 
    case 'OAuthException': 
    // OAuth 2.0 Draft 10 style 
    case 'invalid_token': 
    // REST server errors are just Exceptions 
    case 'Exception': 
    $message = $e->getMessage(); 
    if ((strpos($message, 'Error validating access token') !== false) || 
     (strpos($message, 'Invalid OAuth access token') !== false)) { 
    $this->setAccessToken(null); 
    $this->user = 0; 
    $this->clearAllPersistentData(); 
    } 
} 

throw $e; 

}

आप

+1

यह निश्चित रूप से एक [फेसबुक बग] (https://developers.facebook.com/bugs/179301482177807) है। – brainondev

+1

मैं इसे जोड़ना चाहता हूं, यह त्रुटि तब भी होती है जब उपयोगकर्ता ने अपना खाता निष्क्रिय कर दिया हो। – Chris

उत्तर

10

धन्यवाद के रूप में How-To: Handle expired access tokens (लिंक टूट गया है) डेवलपर्स ब्लॉग पोस्ट में लिखा

Access tokens for users can become invalid due to various reasons. In most cases, they can expire if it’s past the time specified by the expires field (by default access token have a 2 hour lifetime). What many developers do not realize is that an access token can also expire if a user changes her password, logs out or if she de-authorizes the app via the App Dashboard. It is very important that your apps handle such situations. If your access token expires, you need to reacquire a valid access token.

इससे पहले कि हम offline_access का उपयोग कर सकने वाले टोकन को प्राप्त करने की अनुमति न दें (जब तक कि उपयोगकर्ता आवेदन के साथ कनेक्ट न हो), यह अनुमति अब हटा दी गई है, यह देखने के लिए Deprecation of Offline Access Permission देखें कि आप access_token को लंबे समय तक समाप्ति समय के साथ कैसे प्राप्त कर सकते हैं।

अद्यतन:
अगस्त 2012 फेसबुक पीएचपी-एसडीके have added simple way of extending access_token के रूप में (अधिक जानकारी के लिए How to extend access token validity since offline_access deprecation देखें)

अद्यतन 2: ध्यान दें कि के बारे में समय-सीमा समाप्त टोकन से निपटने फेसबुक से मूल ब्लॉग पोस्ट नहीं करता ' टी अब मौजूद है। विवरण प्राप्त करने के लिए नए दस्तावेज हेवेवर का उपयोग किया जा सकता है। https://developers.facebook.com/docs/facebook-login/access-tokens/#extending

+1

आपके सभी लिंक 'पृष्ठ नहीं मिला' प्रदान करते हैं, कृपया लिंक अपडेट करें –

संबंधित मुद्दे