使用SLRequest和设备设置凭据在iOS上的FB朋友墙上发布

时间:2013-12-13 11:21:35

标签: ios facebook-graph-api xcode5 facebook-ios-sdk slrequest

我正在开发一个iOS应用程序,我必须邀请Facebook好友加入该应用程序。 我正在使用社交框架这样做。我已成功发布登录用户的FB墙,但我发布的消息中存在问题。消息说"用户通过示例应用程序共享了一个链接。请求加入这个真棒应用程序。"。我想要的信息是:

"用户 - >朋友 请加入这个真棒应用程序。"。

当我们在Friend FB Wall上写字时,我想要它。

我已将"添加到"我传递朋友的唯一FB ID的参数。但它不起作用。

以下是我正在使用的代码:

[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 Framework,但我需要授权用户并使用iPhone设备设置中存储的凭据获取他/她的朋友列表。因此,如果您有替代解决方案,请告诉我。

0 个答案:

没有答案