0

好的,所以我一直在我的应用程序中使用 SLRequest 到 Facebook。问题似乎相对简单,我部分知道出了什么问题,但通过几个小时的搜索无法找到解决方法。

- 我只通过设备设置登录 Facebook,而不是我的应用程序本身。

- 该应用程序具有允许发布的弹出窗口,并且可以按预期工作。

-我在设置中注销 Facebook 并登录到另一个 Facebook 帐户,这就是问题所在。使用第二个帐户登录时,它永远不会在应用程序(下面的代码)中获得通过。

-我可以使用设置中的第一个帐户重新登录,并且该应用程序继续按预期完美发布。

-我知道你在商店里只能有 1 个 FB 帐户,肯定有办法重置它以允许应用程序从我使用的初始帐户以外的帐户发布??

任何帮助将不胜感激。

- (void)shareSessionToFacebook {
        // Specify App ID and permissions
        NSDictionary *options = @{ACFacebookAppIdKey: @“XXXXXXXXXXXXX”,
        ACFacebookPermissionsKey: @[@"email", @"publish_stream", @"publish_actions"],
       ACFacebookAudienceKey: ACFacebookAudienceFriends};
        accountStore = [[ACAccountStore alloc]init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
[accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error) {
        if (granted) {
4

2 回答 2

0

您可以先获取可用帐户 尝试使用 twitter 您可以获得多个帐户,但只有一个帐户


   [account requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error)
  {
    if (granted == YES)
    {
     // Populate array with all available accounts only for twitter accounts not for Facebook
        NSArray *arrayOfAccounts = [account accountsWithAccountType:accountType]; //type of twitter as your case and you will get all the availble twitter accounts
        if ([arrayOfAccounts count] > 0)
         {
           //use the first account available
           ACAccount *acct = [arrayOfAccounts objectAtIndex:0]; //select the account based on the array index


希望这对你有帮助.. :)

于 2013-11-14T05:12:43.507 回答
0

我跌跌撞撞地回到我的答案。关于像我一样仅使用设备的设置菜单进行日志记录,在任何第一次登录时,您必须在第一次调用时单独请求电子邮件(或其他几个),之后您可以请求 varios publish_ 权限。 ......

因此,在初次登录或切换到另一个帐户时,只需使用电子邮件,然后再次请求您的发布等权限..

//INITIAL LOGIN START//
NSDictionary *optionsX = @{
                           ACFacebookAppIdKey: @"XXXXXXXXXXXXXX",
                           ACFacebookPermissionsKey: @[@"email"],
                           ACFacebookAudienceKey: ACFacebookAudienceFriends
                           };
ACAccountStore *accountStoreX = [[ACAccountStore alloc]init];
ACAccountType *accountTypeX = [accountStoreX accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
[accountStoreX requestAccessToAccountsWithType:accountTypeX options:optionsX completion:^(BOOL granted, NSError *error) {
    if (granted) {
        NSLog(@"ALPHA GRANTED!!!!");
    } else {
        NSLog(@"ALPHA NOT GRANTED");
    }
}];
//INITIAL LOGIN END//
于 2013-11-15T01:05:11.100 回答