2012-09-26 7 views
17

मैं आईओएस 6 सिम्युलेटर के साथ एक्सकोड 4.5 जीएम पर फेसबुक एसडीके 3.1 चला रहा हूं। मैं आईओएस सेटिंग्स में एफबी से कनेक्ट करता हूं और नए आईओएस 6 एफबीसी कनेक्ट यूआई का उपयोग करके अपने ऐप में सफलतापूर्वक एफबी कनेक्ट करता हूं। मैं एक पहुँच टोकन है, अपने दोस्तों को देख सकते हैं, अपनी दीवार, आदि हालांकि, मैं इस मेरे कंसोल को मुद्रित देख हर बार जब मैं FBURLConnection किसी भी प्रकार का आरंभ किया जाता है करने के लिए एप्लिकेशन अनुरोध, पोस्ट भेजने:फेसबुक आईओएस एसडीके 3.1: "त्रुटि: HTTP स्थिति कोड: 400"

Error: HTTP status code: 400 

मैं अमेरिकन प्लान कोड में चला गया और प्रतिक्रिया मुद्रित जब इस त्रुटि छपा है और मैं:

{ 
    body =  { 
     error =   { 
      code = 100; 
      message = "(#100) The parameter 'attribution' is required for the 'mobile_app_install' activity"; 
      type = OAuthException; 
     }; 
    }; 
    code = 400; 
} 

किसी को भी यह कैसे हल करने के लिए पता है? सभी कार्यक्षमता काम करने लगती है, लेकिन मैं इस कंसोल को अपने कंसोल को देख रहा हूं।

+0

मैं ठीक से कनेक्ट भी नहीं कर सकता। मैंने गाइड का भी पालन किया है: https://developers.facebook.com/docs/tutorial/iossdk/upgrading-from-3.0-to-3.1/ –

उत्तर

-2

यह त्रुटि सर्वर पर एक बग को प्रतिबिंबित करती है, जिसे 3.1 रिलीज प्रकाशित होने के तुरंत बाद तय किया गया था। इस बिंदु पर इस अनुरोध से कोई और असफलता नहीं होनी चाहिए। उम्मीद है की यह मदद करेगा!

+7

मैं अभी भी 3.1 में देख रहा हूँ। ऐसा पहली बार होता है जब ऐप अनुमतियों का अनुरोध करता है (यदि मैंने अपनी सेटिंग्स में अधिकृत ऐप्स की सूची से एफबी ऐप हटा दिया है)। बाद के अनुरोध काम करते हैं, हालांकि। ऐसा लगता है कि सिम्युलेटर में नहीं, डिवाइस पर ही होता है। – Senior

3

जितना अच्छा मैं कह सकता हूं, यह 3.1 एसडीके में पेश की गई एक बग है। चार्ल्स के साथ नेटवर्क यातायात को देखते हुए, वे graph.facebook.com/[user id]/activities पर पोस्ट करने की कोशिश कर रहे हैं लेकिन यह असफल रहा है।

+0

मुझे लगता है कि यह उनकी एक नई बात है जो उनकी ट्रैकिंग से निपट रही है अपने नए मोबाइल विज्ञापनों के लिए स्थापित करता है। उस डिवाइस की पहचान करने के लिए "एट्रिब्यूशन" आईडी की आवश्यकता होती है जो मुझे दिखाई देने वाली "एट्रिब्यूशन" प्रतिक्रिया से मेल खाता है। – stipe108

+0

त्रुटि हो सकती है या कुछ और नहीं पता हो सकता है। लेकिन मैंने निष्कर्ष निकाला कि विशेष उपयोगकर्ता फेसबुक के लिए केवल 15-20 बार अपडेट होने की अनुमति देता है, फिर यह कोड देगा: 400 त्रुटि –

+0

मुझे 3.1 एसडीके के साथ यह मिल रहा है। चार्ल्स के साथ मैंने इस कॉल को जिम्मेदार ठहराया: http://0-op-w.channel.facebook.com – Valerio

18

ठीक बाद सत्र बनाई गई है ऐसा करते हैं:

[FBSession setActiveSession:session]; 
+1

शानदार! यह काम करता है ... thanx दोस्त। –

+0

धन्यवाद आदमी ... यह सही काम करता है और इसके लिए +1 ... – DharaParekh

0

यह यहां से मेरा उत्तर के रूप में ही है: Facebook SDK 3.1 - Error: HTTP status code: 400

लेकिन यह लोगों को मदद कर सकता है अभी भी 400 त्रुटि हो रही है।

मूल समस्या 3.1 एसडीके जारी होने के बाद फेसबुक द्वारा हल की गई थी।

लेकिन कुछ लोगों को अभी भी समस्याएं हैं, अगर आपको यह समस्या है तो आपको लॉगिन प्रवाह की जांच करनी चाहिए, और फेसबुक के उदाहरणों को देखना चाहिए, अगर आपको अभी भी समस्याएं हैं तो यह समाधान के संकेत हो सकता है।

मुझे 400 त्रुटि मिली जब मुझे मेरी जानकारी प्राप्त करने का अधिकार नहीं मिला। अजीब बात यह है कि मुझे एक एक्सेस टोकन और यहां तक ​​कि एक वैध लॉगिन भी मिलता है (ऐसा इसलिए है क्योंकि मैंने शानदार कोड के अनुसार सहायता के साथ अपना कोड संरचित किया था और सत्र स्थिति खुला होने पर मैंने एक वैध लॉगिन किया था)।

FBSessionState केवल एक सेकंड की तरह खोला गया है और फिर यह 400 त्रुटि के साथ बंद हो जाता है।

आईओएस 6 मूल लॉगिन के साथ आपको जब आप इसके लिए पूछते हैं तो आपको अनुमति चेतावनी मिलती है, और फिर फोन 24 घंटों के लिए याद रखता है। लेकिन यदि उपयोगकर्ता फेसबुक होम पेज पर लॉग इन करता है और फिर एप्लिकेशन के लिए अनुमति हटा देता है तो फ़ोन 24 घंटों तक सेटिंग याद रखेगा, भले ही आप ऐप को दोबारा इंस्टॉल करें या नहीं।

यह मुझे कुछ घंटों के डिबगिंग के बाद पता चला, क्योंकि मैंने आईओएस में सेटिंग्स से एप्लिकेशन को अनुमति दी थी, लेकिन मैं पोस्ट नहीं कर सका, और चूंकि मैंने फेसबुक गोपनीयता से अनुमति हटा दी, और अलर्ट फिर से दिखाई नहीं देगा ऐसा कुछ भी नहीं था जो मैं कर सकता था लेकिन मैन्युअल रूप से मुझे डीबग टूल के माध्यम से अनुमतियां देने या 24 घंटों तक इंतजार करने के लिए, इसलिए मैं फिर से फेसबुक-अनुमति अलर्ट स्वीकार कर सकता था।

0

मुझे पता चला कि स्थिति कोड 400 को FBErrorHTTPError के साथ फेंक दिया गया है जब फेसबुक => ओपन ग्राफ परिभाषा पैनल के भीतर, परिभाषित क्रिया प्रकार फ़ील्ड में Optional Properties के साथ कुछ गलत हो जाता है।

मेरे मामले में मैं isRequired के रूप में चिह्नित संपत्ति के बिना एक एक्शन ऑब्जेक्ट पोस्ट कर रहा था। isArray विकल्प और सामान्य रूप से, जो भी आप भेज रहे हैं उसके साथ सही मिलान के लिए भी जागरूक रहें।

2

अधिक समस्या निवारण और स्टैक ओवरफ्लो पर सभी सुझावों को देखने के बाद, मुझे यह त्रुटि 400 (error.code = 5) चीज़ हल हो गई। मेरे मामले में समाधान यह सुनिश्चित करना था कि मेरे स्टार्ट में पैराम्स (उर्फ पोस्ट पैराम्स) शामिल हैं, विगग्राफथ कॉल में बिल्कुल पोस्ट किए गए सामग्री के प्रकार द्वारा समर्थित पैराम्स थे।

अधिक विशेष रूप से, मैं लिंक मुझे "रेफरी" कुंजी (आमतौर पर एफबी अंतर्दृष्टि के साथ ट्रैकिंग के लिए उपयोग किया जाता है) के साथ फ़ीड/फ़ीड कर रहा था।

@ "ref" कुंजी को हटाने के बाद, startWithGraphPath सफल हुआ।

NSMutableDictionary *postParams = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            @"Test NAME field (from ios app)", @"name", 
            @"Test caption", @"caption", 
            @"Test description", @"description", 
            @"http://example.com/test1.html", @"link", 
            @"http://example.com/water.jpg", @"picture", 
            // @"foo", @"ref", // WRONG! 
            nil]; 

[FBRequestConnection startWithGraphPath:@"me/feed" 
          parameters:postParams 
          HTTPMethod:@"POST" 
         completionHandler:^(FBRequestConnection *connection, 
              id result, 
              NSError *error) 

मेरा सक्रिय सत्र (और अन्य सभी संभावित अपराधी) चेक-आउट ठीक है।