0

Facebook に接続してユーザーのウォールに投稿できるようにしたいアプリがあります。次のコードがあります。

- (void)viewDidLoad {
 static NSString* kApiKey = @"PRIVATE";
 static NSString* kApiSecret = @"PRIVATE";
 _session = [[FBSession sessionForApplication:kApiKey secret:kApiSecret delegate:self] retain];

 // Load a previous session from disk if available.  Note this will call session:didLogin if a valid session exists.
 [_session resume];
 // Set these values from your application page on http://www.facebook.com/developers
 // Keep in mind that this method is not as secure as using the sessionForApplication:getSessionProxy:delegate method!
 // These values are from a dummy facebook app I made called MyGrades - feel free to play around!


 [super viewDidLoad];
}

- (IBAction)postGradesTapped:(id)sender {
 _posting = YES;
 // If we're not logged in, log in first...
 if (![_session isConnected]) {
  self.loginDialog = nil;
  _loginDialog = [[FBLoginDialog alloc] init]; 
  [_loginDialog show];
 }
 // If we have a session and a name, post to the wall!
 else if (_facebookName != nil) {
  [self postToWall];
 }
 // Otherwise, we don't have a name yet, just wait for that to come through.
}

私が抱えている問題は、ユーザーが IBAction に関連付けられたボタンをクリックすると、ログイン ダイアログがポップアップしますが、[ストーリーを壁に公開] ダイアログを表示せずにウィンドウが消えることです。ログインして Publish Story to Wall を表示するにはどうすればよいですか?

4

2 に答える 2

0

FBPermissionDialog を使用して、最初に「壁への投稿」権限を要求する必要があると思います (正確な文字列が何であるかはわかりません。例にある可能性があります)。

また、「FBSession」は古い「iPhone」SDK (最終更新は 4 月) であることに注意してください。http://github.com/facebook/facebook-ios-sdkに新しい「iOS」SDK があります。

于 2010-09-12T06:06:06.553 に答える
0

セキュリティ キーが間違っていたときにこの動作に遭遇したことがあります (新しい API では必要ありませんが、古い API に基づいている場合はまだ必要です)。

Facebook アプリ制御ページの「App Id」と「App Secret」を必ず使用してください。(「API キー」ではありません)

幸運を!

于 2011-02-06T11:30:42.337 に答える