我正在开发一个 iOS 应用程序,我必须邀请用户 Facebook 朋友加入该应用程序。我正在使用社交框架来做到这一点。我已成功在已登录用户的 FB 墙上发布,但我发布的消息存在问题。消息说“用户通过示例应用程序共享了一个链接。请加入这个很棒的应用程序。”。我想要这样的信息:
“用户 -> 朋友请加入这个很棒的应用程序。”。
我希望它就像我们在朋友 FB 墙上写字时出现的那样。
我添加了传递朋友唯一 FB id 的“to”参数。但它不起作用。
下面是我为此使用的代码:
[accountStore requestAccessToAccountsWithType:facebookAccountType options:dict completion:^(BOOL granted, NSError *error)
{
if (granted)
{
__block ACAccount * facebookAccount;
NSDictionary *options = @{ ACFacebookAppIdKey: **FBAPPID**, ACFacebookPermissionsKey: permissions, @"ACFacebookAudienceKey": ACFacebookAudienceFriends };
[accountStore requestAccessToAccountsWithType:facebookAccountType options:options completion:^(BOOL granted, NSError *error)
{
if (granted)
{
NSArray *accounts = [accountStore accountsWithAccountType:facebookAccountType];
facebookAccount = [accounts lastObject];
NSURL *postURL = [NSURL URLWithString:@"https://graph.facebook.com/me/feed"];
NSMutableDictionary *postDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
**FRIENDID**, @"to",**FRIENDNAME**, @"name",@"Testing of app.", @"caption", @"please join this awesome app.", @"message", nil];
SLRequest *postToMyWall = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodPOST URL:postURL parameters:postDict];
[postToMyWall setAccount:facebookAccount];
[postToMyWall performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
{
if (error) {
}
else
{
NSLog(@"Post successful");
NSString *dataString = [[NSString alloc] initWithData:responseData encoding:NSStringEncodingConversionAllowLossy];
NSLog(@"Response Data: %@", dataString);
[self performSelectorOnMainThread:@selector(postSuccess) withObject:nil waitUntilDone:NO];
}
}];
}
else
{
NSLog(@"rfc");
}
}];
}
else
{
[self performSelectorOnMainThread:@selector(showerrorAlert:) withObject:error waitUntilDone:NO];
}
}];
请如果有人可以为此提供解决方案。我也可以使用 Facebook 框架,但我需要授权用户并使用 iPhone 设备设置中存储的凭据获取他/她的朋友列表。因此,如果您有替代解决方案,请告诉我。