这可能是一个简单的问题,但我厌倦了
Facebook 应用程序是否有任何设置(我们在 Facebook 开发人员网站中创建应用程序时设置)以使“邀请朋友”功能起作用。
我正在使用 WebDialog 方法如下,
FBWebDialogs presentRequestsDialogModallyWithSession:nil message:FacebookInviteMessage title:@"Invite Friends" parameters:parameters handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error)
当我在我的项目中使用另一个示例代码的 Facebook APP ID 时,我可以使用相同的方法邀请朋友。但是当我使用自己项目的 Facebook APP ID 时,当我在结果 url 中获得成功时,邀请不起作用。
所以我认为在 Facebook 的开发者网站中会有一些设置。
任何人都可以为此提供帮助
完整的代码是
NSDictionary *parameters = self.fbidSelection ? @{@"to":self.fbidSelection} : nil;
MIDLog(@"self.fbidSelection %@",self.fbidSelection);
[FBWebDialogs presentRequestsDialogModallyWithSession:nil
message:FacebookInviteMessage
title:@"Invite Friends"
parameters:parameters
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
NSString *strResultUrl = [resultURL absoluteString];
if (result == FBWebDialogResultDialogCompleted && ![strResultUrl isEqualToString:@"fbconnect://success"])
{
MIDLog(@"Web dialog complete: %@", resultURL);
if (![resultURL query])
{
return;
}
NSDictionary *params = [self parseURLParams:[resultURL query]];
NSMutableArray *recipientIDs = [[NSMutableArray alloc] init];
for (NSString *paramKey in params)
{
if ([paramKey hasPrefix:@"to["])
{
[recipientIDs addObject:[params objectForKey:paramKey]];
}
}
if ([params objectForKey:@"request"])
{
NSLog(@"Request ID: %@", [params objectForKey:@"request"]);
}
if ([recipientIDs count] > 0)
{
//[self showMessage:@"Sent request successfully."];
//NSLog(@"Recipient ID(s): %@", recipientIDs);
UIAlertView *alrt = [[UIAlertView alloc] initWithTitle:@"Success!" message:@"Invitation(s) sent successfuly!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alrt show];
alrt = nil;
}
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success" message:FacebookInviteSuccess delegate:self cancelButtonTitle:@"Proceed" otherButtonTitles:nil];
alert.tag = 14114;
[alert show];
alert = nil;
// [self navigateToSearch];
}
else if (result == FBWebDialogResultDialogCompleted && [strResultUrl isEqualToString:@"fbconnect://success"])
{
MIDLog(@"Cancel Clicked");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Cancelled" message:nil delegate:self cancelButtonTitle:@"Proceed" otherButtonTitles:nil];
alert.tag = 14114;
[alert show];
alert = nil;
}
else {
MIDLog(@"Web dialog not complete, error: %@", error.description);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:InternetFailError delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
alert.tag = 15115;
[alert show];
alert = nil;
}
}
friendCache:self.friendCache];
}
谢谢