2012-12-19 31 views
11

लॉगिन करने का प्रयास करता है, तो आप पहले से ही YOUR_APP को अधिकृत कर चुके हैं। मैं वर्तमान में आईओएस फेसबुक एसडीके 3.1 के साथ फेसबुक-लॉगिन-फ्लो को लागू करने की कोशिश कर रहा हूं। लेकिन इसके साथ एक छोटी सी समस्या है। हर बार जब उपयोगकर्ता फेसबुक के साथ में लॉग वेबव्यू अपफेसबुक आईओएस एसडीके 3.1 | प्रत्येक बार जब उपयोगकर्ता

कोड मैंने लिखा निम्न उदाहरण के आधार पर खोलने के लिए और कहते हैं

होगा "आपके पास पहले YOUR_APP अधिकृत किया है ..": click here अब मेरी सवाल यह है कि, मैं इस व्यवहार से कैसे बच सकता हूं और मैं क्या गलत कर रहा हूं?

उत्तर

-2

यदि आप देव में कोड का परीक्षण कर रहे हैं तो पहली बार जब आप लॉग इन करेंगे तो यह उस सत्र को फेसबुक पर संग्रहीत करेगा।

तो, आप इसे फिर से जांचने का प्रयास करते हैं लेकिन यह पहले ही अधिकृत है।

यदि आप फिर से लॉगिन प्रक्रिया का परीक्षण करना चाहते हैं तो फेसबुक पर जाएं और अपने ऐप को अधिकृत करें (यह आपकी ऐप्स की सूची में होगा)।

फिर आप डिवाइस पर फिर से लॉग इन कर सकते हैं।

+2

क्षमा करें, लेकिन यह अपने प्रश्न का उत्तर नहीं है। लॉगिन प्रक्रिया ठीक काम करती है। मैं फेसबुक-लॉगबबटन दबाए जाने के बाद हर बार "आप पहले से ही YOUR_APP" स्क्रीन को दिखाना नहीं चाहता हूं। –

+0

यदि उपयोगकर्ता पहले से ही लॉग इन है तो उन्हें "लॉगिन" बटन दबाया नहीं जाना चाहिए। उन्हें सीधे ऐप के "मांस" में लॉगिन प्रक्रिया के माध्यम से जाना चाहिए। अगर वे एक फेसबुक बटन देखते हैं तो इसे "लॉगआउट" कहना चाहिए। – Fogmeister

+3

मुझे लगता है कि आप नहीं समझते कि मेरी समस्या क्या है: 1. उपयोगकर्ता फेसबुक के साथ पहली बार लॉग इन करता है, अनुमति स्वीकार करता है। 2. उपयोगकर्ता लॉगआउट कार्रवाई पर क्लिक करता है, टोकन साफ़ हो जाता है। 3. उपयोगकर्ता लॉगिन करेगा -> यहां वह फेसबुक बटन पर फिर से क्लिक करता है, लेकिन अब "प्राधिकरण स्क्रीन" दिखाई नहीं देनी चाहिए। क्योंकि वह पहले से ही ऐप को अधिकृत करता है। –

1

कृपया इस कोड को देखते हैं, यह मदद मिल सकती है

postParams= 
    [@{ 
     @"link" :link, 
     @"picture" :picture link , //[NSString stringWithFormat:@"%@%@",KBaseImageUrl,@"/assets/img/logo-small.jpg"], 
     @"name" : @“name”, 
     @"caption" : caption title, 
     @"description" :discription 
     } mutableCopy]; 
    title=[[arrayEventInfo valueForKey:@"info"] valueForKey:@"eventname"]; 


if ([[FBSession activeSession]isOpen]) 
{ 

    if ([[[FBSession activeSession]permissions]indexOfObject:@"publish_actions"] == NSNotFound) 
    { 

     [[FBSession activeSession] requestNewPublishPermissions:[NSArray arrayWithObject:@"publish_action"] defaultAudience:FBSessionDefaultAudienceFriends 
               completionHandler:^(FBSession *session,NSError *error){ 

                 // If permissions granted, publish the story 
                 [FBRequestConnection 
                 startWithGraphPath:@"me/feed" 
                 parameters:postParams 
                 HTTPMethod:@"POST" 
                 completionHandler:^(FBRequestConnection *connection, 
                      id result, 
                      NSError *error) 
                 { 
                  NSString *alertText; 
                  if (error) 
                  { 
                   alertText = [NSString stringWithFormat: 
                      @"error: domain = %@, code = %d", 
                      error.domain, error.code]; 
                  } 
                  else 
                  { 
                   alertText = @"Posted successfully on your wall.";//[NSString stringWithFormat: 
                   //@"Posted action, id: %@", 
                   // result[@"id"]]; 
                  } 
                  //Show the result in an alert 
                  [[[UIAlertView alloc] initWithTitle:title 
                         message:alertText 
                         delegate:self 
                      cancelButtonTitle:@"OK" otherButtonTitles:nil]show]; 
                  [FBSession.activeSession closeAndClearTokenInformation]; 
                  [FBSession.activeSession close]; 


                 }]; 

                 UIActivityIndicatorView *activityView=(UIActivityIndicatorView*)[self.view viewWithTag:111]; 
                 if(activityView) 
                 { 
                  [activityView removeFromSuperview]; 
                 } 
                 [self.view setUserInteractionEnabled:YES]; 
                 [self.navigationController.navigationBar setUserInteractionEnabled:YES]; 




               }]; 

    }else 
    { 

      // If permissions granted, publish the story 
      [FBRequestConnection 
      startWithGraphPath:@"me/feed" 
      parameters:postParams 
      HTTPMethod:@"POST" 
      completionHandler:^(FBRequestConnection *connection, 
           id result, 
           NSError *error) 
      { 
       NSString *alertText; 
       if (error) 
       { 
        alertText = [NSString stringWithFormat: 
            @"error: domain = %@, code = %d", 
            error.domain, error.code]; 
       } 
       else 
       { 
        alertText = @"Posted successfully on your wall.";//[NSString stringWithFormat: 
        //@"Posted action, id: %@", 
        // result[@"id"]]; 
       } 
       //Show the result in an alert 
       [[[UIAlertView alloc] initWithTitle:title 
              message:alertText 
              delegate:self 
            cancelButtonTitle:@"OK" otherButtonTitles:nil]show]; 
       [FBSession.activeSession closeAndClearTokenInformation]; 
       [FBSession.activeSession close]; 


      }]; 


    } 
} 
else 
{ 


    [FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObject:@"publish_actions"] 
             defaultAudience:FBSessionDefaultAudienceOnlyMe 
              allowLoginUI:YES 
            completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
             if (!error && status == FBSessionStateOpen) { 
              if (!error) 
              { 
               // If permissions granted, publish the story 
               [FBRequestConnection 
                startWithGraphPath:@"me/feed" 
                parameters:postParams 
                HTTPMethod:@"POST" 
                completionHandler:^(FBRequestConnection *connection, 
                     id result, 
                     NSError *error) 
                { 
                 NSString *alertText; 
                 if (error) 
                 { 
                  alertText = [NSString stringWithFormat: 
                     @"error: domain = %@, code = %d", 
                     error.domain, error.code]; 
                 } 
                 else 
                 { 
                  alertText = @"Posted successfully on your wall.";//[NSString stringWithFormat: 
                  //@"Posted action, id: %@", 
                  // result[@"id"]]; 
                 } 
                 //Show the result in an alert 
                 [[[UIAlertView alloc] initWithTitle:title 
                        message:alertText 
                       delegate:self 
                     cancelButtonTitle:@"OK" otherButtonTitles:nil]show]; 
                 [FBSession.activeSession closeAndClearTokenInformation]; 
                 [FBSession.activeSession close]; 


                }]; 

              } 
             }else{ 
              NSLog(@"%@",[error description]); 
              UIActivityIndicatorView *activityView=(UIActivityIndicatorView*)[self.view viewWithTag:111]; 
              if(activityView) 
              { 
               [activityView removeFromSuperview]; 
              } 
              [self.view setUserInteractionEnabled:YES]; 
              [self.navigationController.navigationBar setUserInteractionEnabled:YES]; 

             } 
            }]; 
}