2013-06-20 3 views
7

बुला "ACAccountCredentialRenewResultRejected" संदेश को संभालने के लिए मैं कैसे बनाने के लिए एक ACAccountStore,, उपयोगकर्ता के फेसबुक खाते पर पहुंच प्राप्त एक ACAccount वस्तु में खाते की दुकान, और साख से टोकन प्राप्त करने में सक्षम हूँ। लेकिन जब मैं फेसबुक से जानकारी प्राप्त करने के लिए इस टोकन का प्रयास करता हूं और इसका उपयोग करता हूं तो यह प्रमाणित नहीं होगा, और renewCredentialsForAccount का उपयोग करके प्रमाण-पत्रों को नवीनीकृत करने का प्रयास करेगा, केवल ACAccountCredentialRenewResultRejected की प्रतिक्रिया देगा।जब renewCredentialsForAccount

मुझे किसी भी आसान माध्यम से अनुमति का अनुरोध करने के लिए फिर से दिखाने के लिए अनुमति पॉप-अप नहीं मिल सकता है। एक बार मैं अनुमति के अनुरोध के लिए इसे प्राप्त करने का एकमात्र तरीका यह है कि मैं ऐप में जो अनुमतियां मांग रहा हूं, या सेटिंग्स में अपने फेसबुक खाते को हटाने और फिर से जोड़ने के लिए है।

इस बिंदु पर वैध ऑथ टोकन प्राप्त करने के बारे में मैं कैसे जा सकता हूं?

+0

मैं फेसबुक पर अपने ऐप सेटिंग पेज से ऐप को हटाकर इसी त्रुटि को फिर से बना सकता हूं। ऐसा प्रतीत होता है कि उपयोगकर्ता की अनुमति प्राप्त करने के लिए इसे एक बार फिर से अनुमति अनुरोध पॉप-अप की आवश्यकता है, लेकिन जब तक मैं अपने फोन पर लॉग इन नहीं करता तब तक यह पॉप-अप नहीं होगा। – ZachLHelms

+0

हालांकि ऐसा लगता है कि 'नवीनीकरण योग्यताफोर खाता' कॉल करते समय अगली बार जब मैं ऐप लॉन्च करता हूं और लॉग इन करने का प्रयास करता हूं तो मुझे ऐप को अनुमति देने के लिए कहा जाता है।जबकि अगर मैं वह कॉल नहीं करता हूं तो मुझे ऐसा करने के लिए कभी भी संकेत नहीं दिया जाता है। – ZachLHelms

+0

यहां एक ही समस्या है। पुन: उत्पन्न करने में आसान: 1) ऐप को एक बार अनुमति दें 2) एफबी ग्राफ एक्सप्लोरर पर जाने के बिना छोड़कर और सभी अनुमतियों को साफ़ किए बिना 3) नवीनीकरण की कोशिश करें प्रमाण पत्र फॉर अकाउंट। क्या किसी को इसके लिए समाधान मिला? एफबी एपीआई के पास इस मुद्दे को हल करने के लिए एक करीबी सत्र और टोकन (या इसी तरह) है। लेकिन सामाजिक एपीआई के बारे में क्या? – Teddy

उत्तर

3

चूंकि कोई स्वीकार्य उत्तर नहीं है, इसलिए मैंने जो जवाब दिया, उसे उत्तर देने का प्रयास किया। उपर्युक्त मेरी टिप्पणी के बाद मैंने नवीनीकरण प्रमाण पत्रों के लिए दस्तावेज पढ़ा है। खाता जो कहता है, "यदि उपयोगकर्ता ने आपके ऐप को अनधिकृत कर दिया है, तो यह नवीनीकरण अनुरोध ACAccountCredentialRenewResultRejected वापस करेगा।"

मिसाइलिंग क्या है कि यह उपयोगकर्ता नहीं है जो फेसबुक को अस्वीकार करता है।

मुझे लगता है कि अब मैं अवधारणा को समझता हूं और मैं उन लोगों को जवाब देने का प्रयास करता हूं जो मेरे जैसे इस मुद्दे से असफल रहे। वास्तव में मुझे यह नहीं पता था कि जब मुझे ACAccountCredentialRenewResultRejected परिणाम प्राप्त होता है तो मेरा एफबी टोकन पूरी तरह से रीसेट हो जाएगा। और यह पहेली में महत्वपूर्ण तत्व है।

तो तुम अलग परिणाम के लिए क्या करने की जरूरत:

  • ACAccountCredentialRenewResultRenewed आप बिल्कुल तैयार हैं और आप नया टोकन की है। जाओ और इस नवीनीकृत टोकन के साथ अपना SLRequest प्रदर्शन करें।
  • ACAccountCredentialRenewResultRejected: अपने टोकन पुनर्स्थापित, यदि आप एक प्राप्त करने के लिए यह एक शून्य हो जाएगा की कोशिश है। आपको उपयोगकर्ताओं से स्क्रैच से अनुमतियां और फेसबुक के लिए ऐप इंस्टॉल करने का अनुरोध करना होगा। इसका मतलब है कि आप सामान्य "ईमेल + अन्य पढ़ने की अनुमतियों" के लिए पहले पूछें और (यदि आपको इसकी आवश्यकता है) तो एक अलग अनुरोध में आप लिखने की अनुमति मांगते हैं। (कोई यह बता सकता है कि फेसबुक मुझे दो बार उपयोगकर्ता को परेशान क्यों करना चाहता है अगर मैं उदाहरण के लिए एक फोटो अपलोड करना चाहता हूं)
  • ACAccountCredentialRenewResultFailed: मैं इसे कभी पुन: पेश नहीं कर सका। मैं यहाँ बेकार हूं आप उपयोगकर्ता को एक त्रुटि संदेश ड्रॉप।

यही वह है जो मैं आया था। यह एक बहुत ही बुरा एपीआई है जिसमें खराब दस्तावेज और गायब नमूने हैं। इसके अलावा इंटरनेट के आसपास के उदाहरण "सफलता" के बारे में हैं और उन्हें इस तथ्य की परवाह नहीं है कि उपयोगकर्ता ऐप के बाहर अनुमतियां रद्द कर सकता है। मैं निरंतर कोशिश कर रहा हूं & असफल विकास मोड। भूरे रंग के बाल खोना लेकिन अंत में आ रहा है। मुझे आशा है कि मेरी प्रतिक्रिया दूसरों की मदद करेगी।

+0

बहुत उपयोगी और विस्तृत स्पष्टीकरण, अंगूठे ऊपर! –