Ich integriere Facebook auf meiner Anwendung, um Links von Websites zu teilen. Ich benutze den Feed-Dialog, um dies zu erreichen, und ich folge diesem Tutorial:
https://developers.facebook.com/docs/howtos/feed-dialog-using-ios-sdk/.nil resultURL nach erfolgreichem Posten mit FBWebDialogs (Facebook SDK 3.5)
Ich habe es geschafft, mich anzumelden und auf Facebook zu posten, aber ich wollte eine Nachricht hinzufügen, wenn der Beitrag erfolgreich war. Das Tutorial hat dies eingebaut, aber jedes Mal, wenn ich poste, sehe ich "Benutzer abgebrochen Geschichte Veröffentlichung." im Log, das ist die Nachricht, die angezeigt wird, wenn der Benutzer auf Abbrechen klickt. Außerdem habe ich mit dem Debugger bestätigt, dass der vom Handler empfangene Parameter resultURL
auch bei erfolgreichen Posts immer Null ist.
Zuerst war es ein Konfigurationsproblem in meinem Facebook App
, aber ich entschied mich, einen Test zu machen. Ich öffnete die RPSSample
, die mit dem Framework kommt, fügte einen Abschluss-Handler zum presentRequestsDialogModallyWithSession
Anruf in der clickInviteFriends
Methode in der RPSFriendsViewController.m
View-Controller und ich bekam eine Null resultURL
auf erfolgreiche Beiträge dort auch.
Ich vermisse ich etwas?
Ich weiß, das 3.5 SDK-Version sehr neu ist, aber in der Dokumentation nach sollte ich eine gültige resultURL
param nach der Einlieferung durch einen Facebook Web Dialog so sicher sein, immer bin ich nicht, ob es ein Fehler ist oder wenn ich Ich vermisse etwas Callback oder Handler irgendwo.
Nur für den Fall, das ist mein Aufruf an die Feed Web Dialog. Es kleinere Änderungen hat zu dem einen verglichen, die im Tutorial kommt (es ist tatsächlich einfacher)
- (void)publish: (EntityToShare *)entityToShare {
NSMutableDictionary *params =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
entityToShare.link, @"link",
nil];
// Invoke the dialog
[FBWebDialogs presentFeedDialogModallyWithSession:nil
parameters:params
handler:
^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
if (error) {
// Error launching the dialog or publishing a story.
NSLog(@"Error publishing story.");
} else {
if (result == FBWebDialogResultDialogNotCompleted) {
// User clicked the "x" icon
NSLog(@"User canceled story publishing.");
} else {
// Handle the publish feed callback
NSDictionary *urlParams = [self parseURLParams:[resultURL query]];
if (![urlParams valueForKey:@"post_id"]) {
// User clicked the Cancel button
NSLog(@"User canceled story publishing.");
} else {
// User clicked the Share button
NSString *msg = [NSString stringWithFormat:
@"Posted story, id: %@",
[urlParams valueForKey:@"post_id"]];
NSLog(@"%@", msg);
// Show the result in an alert
[[[UIAlertView alloc] initWithTitle:@"Result"
message:msg
delegate:nil
cancelButtonTitle:@"OK!"
otherButtonTitles:nil]
show];
}
}
}
}];
}
das gleiche Problem zu haben. –