1

最近、私は自分のアプリと facebook-sdk を統合するという冒険を始めました。

Facebook でのログインを提供するアプリケーションがあります。したがって、Facebookでセッションを作成した後、ユーザーからデータを取得し、データを使用してサーバー上に新しいデータを作成するというアイデアです。

  • 名前
  • 画像の URL
  • Eメール
  • FacebookのID

したがって、私は最新バージョンのfacebook sdk-3.1を使用しています。メールを取得するためのユーザーの権限を持つセッションを作成しました。

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

[FBSession openActiveSessionWithReadPermissions:permissions
                                   allowLoginUI:YES
                              completionHandler:
 ^(FBSession *session,
   FBSessionState state, NSError *error) {
     [self sessionStateChanged:session state:state error:error];
 }];

セッションが正常に作成された後、ユーザーの作成を開始します。

 if (FBSession.activeSession.isOpen) {
        [[FBRequest requestForMe] startWithCompletionHandler:
         ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
             if (!error) {

                 self.userData.firstNameUser=user.name;
                 self.userData.lastNameUser=user.last_name;
                 self.userData.mainLocation=user.location.name;
                 self.userData.urlImageUser=user.link;
             }
         }];   
    }

では、最後の SDK を使用しているユーザーの他のデータ、電子メール、画像のProfileをサーバーに送信するにはどうすればよいですか?

ありがとう

4

2 に答える 2

10

ユーザーオブジェクト自体にユーザーのプロファイル画像があります。

FBProfilePictureViewのオブジェクトを作成し、オブジェクトのProfileIDプロパティを設定するだけです。

例えば

FBProfilePictureView *profileImage = [[FBProfilePictureView alloc] initWithFrame:frame];
profileImage.profileID = user.id;

ユーザーのプロフィール画像が表示されます。

ハンドラーの応答に次のコードを追加できます。

于 2012-10-19T11:27:08.440 に答える
0

できます。追加するだけ

[self.view addSubview:profileImage];
于 2014-02-07T11:26:07.560 に答える