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 が再度ログイン フォームを表示します。
ありがとうございました。