2

私は次のことを観察しています....

次の方法でユーザーを認証します(完了ブロックで権限をnsloggingしていることに注意してください)

 NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"email", @"publish_actions",
                        nil];

 [FBSession openActiveSessionWithPublishPermissions:permissions
                                   defaultAudience:FBSessionDefaultAudienceFriends
                                      allowLoginUI:allowLoginUI
                                 completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
                                 NSLog(@"permissions %@",FBSession.activeSession.permissions);
 }];

ユーザーとしてアプリを起動し、FB でログインします。

  1. 「アプリがあなたの公開プロフィール、友達リスト、メールアドレスにアクセスしようとしています」という画面が表示されます。そして私は「OK」を選択します

  2. 「アプリがあなたに代わって友達に投稿しようとしています」という画面が表示され、「スキップ」を選択します。

3) 完了ブロック コードは、次のようにアクセス許可を吐き出します。

許可 (電子メール、「publish_actions」)

なぜ publish_actions がリストされているのですか? 今すぐアプリから FB に投稿しようとすると、エラーが発生し、適切なアクセス許可がないことがわかります...まだ、このケースを確認できません b/c FBSession.activeSession.permissions が教えてくれます実際には「publish_actions」権限を持っていない場合でも、「publish_actions」権限を持っていること。

ここで何が欠けていますか?

4

1 に答える 1

0

iOS SDK 3.0を使用していた場合、これは SDK のバグが原因でした。詳細については、バグ レポートを参照してください。

症状の要約:

openActiveSessionWithPermissions メソッドでユーザーを承認した後、コールバック メソッドのセッション変数に、ユーザーが許可していない拡張アクセス許可が含まれています。

于 2014-04-30T06:41:42.533 に答える