Tôi đang tích hợp Facebook vào đơn đăng ký của mình để chia sẻ liên kết của trang web. Tôi đang sử dụng Hộp thoại nguồn cấp dữ liệu để thực hiện việc này và tôi đang làm theo hướng dẫn sau:
https://developers.facebook.com/docs/howtos/feed-dialog-using-ios-sdk/.nil resultURL sau khi đăng thành công với FBWebDialogs (Facebook SDK 3.5)
Tôi đã đăng nhập và đăng lên Facebook nhưng tôi muốn thêm thông báo khi bài đăng thành công. Hướng dẫn này được tích hợp sẵn, nhưng mỗi lần tôi đăng, tôi thấy "Xuất bản câu chuyện do người dùng hủy." trong Nhật ký là thông báo được hiển thị khi người dùng nhấp vào hủy. Bên cạnh đó, tôi đã xác nhận với trình gỡ lỗi rằng thông số resultURL
mà trình xử lý nhận được luôn luôn là không ngay cả khi đăng bài thành công.
Lúc đầu, mặc dù đó là sự cố cấu hình trong số Facebook App
của tôi, nhưng tôi quyết định thực hiện kiểm tra. Tôi đã mở RPSSample
đi kèm với khung công tác, đã thêm trình xử lý hoàn thành vào cuộc gọi presentRequestsDialogModallyWithSession
trong phương thức clickInviteFriends
trong bộ điều khiển chế độ xem RPSFriendsViewController.m
và tôi cũng nhận được số không resultURL
về các bài đăng thành công ở đó.
Tôi đang thiếu gì đó?
Tôi biết phiên bản SDK 3.5 rất mới, nhưng theo tài liệu tôi sẽ nhận được thông số resultURL
hợp lệ sau khi đăng qua Hộp thoại Facebook Facebook vì vậy tôi không chắc chắn đó có phải là lỗi hay không ' m thiếu một số gọi lại hoặc xử lý một nơi nào đó.
Chỉ trong trường hợp, đây là cuộc gọi của tôi tới Hộp thoại web nguồn cấp dữ liệu. Nó có những thay đổi nhỏ so với cái có trong hướng dẫn (nó thực sự đơn giản hơn)
- (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];
}
}
}
}];
}
Có cùng một vấn đề. –