0

Objective-C を使用してポスト ウォールを実装しようとしていますが、アクション セッションで 'publish_actions' への新しいアクセス許可を要求すると、FB SDK ログイン フォームが再び表示されます。

このチュートリアルを探しています: https://developers.facebook.com/docs/ios/publish-to-feed-ios-sdk/

私のアプリケーションフローでは、基本的にこれです:

void (^completionHandler)(FBSession*, NSError*) = ^(FBSession*session, NSError*error){

    if (session.isOpen && !error)
    {
        [FBWebDialogs presentFeedDialogModallyWithSession:session
                                               parameters:params
                                                  handler:handler];
    }
};

// abrie o dialog
BOOL isFBIntegration = [SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook];

if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound)
{
    if(isFBIntegration)
    {
        [[FBSession activeSession] requestNewPublishPermissions:@[@"publish_actions"]
                                                defaultAudience:FBSessionDefaultAudienceFriends
                                              completionHandler:completionHandler];
    }
    else
    {
        [FBSession openActiveSessionWithPublishPermissions:@[@"publish_actions"]
                                           defaultAudience:FBSessionDefaultAudienceEveryone
                                              allowLoginUI:YES
                                         completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
                                             completionHandler(session, error);
                                         }];
    }
}
else
{
    completionHandler(FBSession.activeSession, nil);
}

アプリケーションに入ったときにログインするように求めているため、ユーザーはすでにログインしています。

    [FBSession openActiveSessionWithReadPermissions:@[@"basic_info, user_friends, friends_interests"]
                                       allowLoginUI:YES
                                  completionHandler:nil];

Facebook がネイティブに統合されている場合は問題ありませんが、そうでない場合は、openActiveSessionWithPublishPermissions が再度ログイン フォームを表示します。

ありがとうございました。

4

1 に答える 1

0

Facebook iOS SDK 3.1 が無効になりopenActiveSessionWithPublishPermissionsました。最初に読み取り専用セッションを確立してから、追加で書き込み権限を要求する必要があります。アップグレード プロセスの詳細については、iOS SDK アップグレード ガイドを参照してください。

于 2014-04-29T17:29:10.927 に答える