0

Facebook Connect を使用してユーザーがログインできるようにするアプリを開発しました。ログインすると、ユーザーはサーバーに写真をアップロードできます。これらの写真/画像への URL リンクは MySQL に保存されます。Facebook のユーザー ID をデータベース内の写真にリンクする必要があります。だから私の質問は:

Xcode でユーザー ID を取得するにはどうすればよいですか? 次に、それを MySQL に渡すにはどうすればよいですか? このコード全体はどのように見えますか?

Joel の回答に応えて、Facebook の資格情報を NSUserDefaults に追加するにはどうすればよいですか? 1 つの値 (以下) を格納する方法はわかっていますが、facebookID、userName、および userEmail に複数の値を格納するにはどうすればよいですか?

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"username"] == nil) //we haven't saved anything yet
    [defaults setObject:authenticatedUsersName forKey:@"username"];
4

1 に答える 1

2

上記のコメントが示唆しているように、FacebookユーザーIDを保存することに何の問題もありません。トークンは、セッション間およびデバイスごとに変わる可能性があります。また、複数のアプリ(たとえば、web / android / iphone)がある場合は、デバイス間でユーザーが認識されるようにします。実際、これはユーザーを一意に参照する方法です。

とにかく、fidを取得するには、次のようにします。

fbDidLoginデリゲートメソッドに、次の行を追加します。

[facebook requestWithGraphPath:@"me" andDelegate:self];    

次に、次のようにリクエストデリゲートを設定します。

- (void)request:(FBRequest *)request didLoad:(id)result {
    NSString *facebookId = [result objectForKey:@"id"];
    NSString *userName = [result objectForKey:@"name"];
    NSString *userEmail = [result objectForKey:@"email"]; 

    //do whatever you need to do with this info next 
    //(ie. save to db, pass to user singleton, whatever)

}

ps。上記のコードは、Facebookログインがすでに実装されていることを前提としています。スタートガイドのドキュメントにその部分のステップバイステップの説明があるので、そのすべてのコードを投稿するつもりはありません。

于 2012-04-29T02:33:47.983 に答える