2014-02-08 57 views
-3

我有兩個與iOS和Facebook API相關的問題。在iOS本地存儲Facebook用戶數據

1)如何在用戶點擊登錄btn獲取用戶數據時自定義facebook登錄視圖。

2)在我的應用程序中,我想使用Facebook API。通過這種方式,我可以在下面的這個方法中檢索用戶數據。但是,我怎樣才能將這些用戶數據保存在我的應用程序本地。

非常感謝您的幫助!

[FBSession openActiveSessionWithReadPermissions:@[@"email",@"user_location",@"user_birthday",@"user_hometown"] 
            allowLoginUI:YES 
           completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { 

            switch (state) { 
             case FBSessionStateOpen: 
              [[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error){ 


               if (error) { 


                NSLog(@"error:%@",error); 


               } 
               else 
               { 

                // retrive user's details at here as shown below 
                NSLog(@"FB user first name:%@",user.first_name); 
                NSLog(@"FB user last name:%@",user.last_name); 
                NSLog(@"FB user birthday:%@",user.birthday); 
                NSLog(@"FB user location:%@",user.location); 
                NSLog(@"FB user username:%@",user.username); 
                NSLog(@"FB user gender:%@",[user objectForKey:@"gender"]); 
                NSLog(@"email id:%@",[user objectForKey:@"email"]); 
                NSLog(@"location:%@", [NSString stringWithFormat:@"Location: %@\n\n", 
                     user.location[@"name"]]); 

self.fbUserDataDict = [NSDictionary的dictionaryWithDictionary:用戶];

           } 
              }]; 
              break; 

             case FBSessionStateClosed: 
             case FBSessionStateClosedLoginFailed: 
              [FBSession.activeSession closeAndClearTokenInformation]; 
              break; 

             default: 

              break; 
            } 
           } ]; 
+0

不要忘記在保存數據時要求用戶同意。這將是非法的,否則http://webmasters.stackexchange.com/questions/24734/am--allowed-to-save-basic-user-data-from-facebook-in-my-own-web-apps-數據庫#comment23335_24746 – jbouaziz

+0

嗨pacman321,我只提到「基本賬戶信息」就像:姓名,電子郵件,性別,生日,當前城市和個人資料圖片網址。 –

回答

0

如何使用像Parse,這對他們本地存儲?你也可以使用SQLite。雖然你想介紹一下你想做什麼?只需在本地存儲它們?

+0

HI隨機,我試圖將這些值存儲在一個NSString像名稱,電子郵件,性別,但在內部的方法,我得到開關大小寫錯誤,你可以請提到一個樣本我的意思是在上面的代碼塊,你可以寫一步到NSString存儲名稱... –

+0

因爲這只是我需要一個用戶輕鬆登錄我的應用程序與他們的Facebook電子郵件的支持和名稱就是它。 –

+0

我不太明白,NSString只是一個持有不可變字符串的對象,你說你想在本地存儲數據,因此你必須有一個本地數據庫,比如SQLite。 – Random