私のアプリでは、壁に画像を投稿したいのですが、何かが足りないと思います。私は多くの調査を行い、そのコードにたどり着きました。実際には機能することもありますが、一般的には、publish_action 権限を持つセッションがないため、コードが実行されているときに、コードの 2 番目の部分が機能していますが、問題は、2 番目の部分で常にエラー ログを取得するため、先に進めないことです...パブリッシュ権限でアクティブなセッションを開くことができない理由がわかりましたか?
if ([[FBSession activeSession]isOpen]) {
/*
* if the current session has no publish permission we need to reauthorize
*/
if ([[[FBSession activeSession]permissions]indexOfObject:@"publish_actions"] == NSNotFound) {
[[FBSession activeSession] requestNewPublishPermissions:[NSArray arrayWithObject:@"publish_action"] defaultAudience:FBSessionDefaultAudienceOnlyMe
completionHandler:^(FBSession *session,NSError *error){
action();
}];
}else{
[self publishStory];
}
}else{
/*
* open a new session with publish permission
*/
[FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceOnlyMe
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
if (!error && status == FBSessionStateOpen) {
[self publishStory];
}else{
NSLog(@"error");
}
}];
}