I am upgrading an existing iOS and Facebook app from Facebook iOS SDK 2.x to iOS SDK 3.21.1. In testing some of the Facebook SDK generated dialogs we are consistently getting CAPTCHA's when trying to post links to our app website with the attached warning "A Link in Your Post Might Be Unsafe" after which the normal share dialog appears. After this dialog the user is presented with another CAPTCHA that again indicates "A Link in Your Post Might Be Unsafe" and "Security Check Failed." How do we clear the warnings attached to sharing links to our website? Or, what about about sharing a link to our website is triggering this dialog? Our team has been unable to find any documentation pertaining to this dialog or what triggers it.
This procession of dialogs is triggered by the following code using Facebook iOS SDK 3.21.1:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
FACEBOOK_APP_ID,@"app_id",
@"http://www.ourwebsite.com",@"link",
@"http://ourwebsite.com/image.png", @"picture",
@"AppName", @"name",
EMAIL_SETTINGS_HEADER_FACE_BOOK_IPHONE,@"caption",
EMAIL_SETTINGS_BODY_FACE_BOOK_IPHONE,@"description",
@"Download our app!",@"properties",
nil];
[FBWebDialogs presentDialogModallyWithSession:[FBSession activeSession]
dialog:@"feed"
parameters:params
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
NSLog(@"Facebook Manager: postPicture FBWebDialogs Completion Handler.");
[self dialogHandler:result :resultURL :error];
}];
The response I have gotten from the Facebook Developers' group (on Facebook) is "When enough people share the link and fill in the captcha it will automatically go away," but we would like to avoid publishing an app that tells any of our users that our app is unsafe and/or has failed a security check.
EDIT: It turns out the link that was causing issues was the image, @"http://ourwebsite.com/image.png", @"picture", which is hosted on AWS. Interestingly, shortening this URL with a URL-shortening service (www.tinyirl.com) removed the errors and the CAPTCHA, but only temporarily.