2014-07-13 34 views
0

我試圖在使用Facebook登錄到我的iOS應用程序後獲取當前用戶的喜好。我可以從用戶得到的唯一東西是他們的個人資料(性別,地區等)。在Facebook iOS SDK中獲取user_likes

我會如何申請獲得他們的user_likes在他們登錄後的權限?

此外,我必須讓我的應用程序由Facebook團隊審查?我讀過的地方,我可能不得不。

回答

0

所有你需要爲user_likes提供登錄權限,首先,如果其他人則如下:

self.LoginView.readPermissions = @ @ 「basic_info」,@ 「USER_LOCATION」,@ 「user_birthday」,@ 「user_likes」,@ 「電子郵件」,@ 「user_relationships」,@ 「user_interests」,@ 「user_hometown」,@ 「user_about_me」,@ 「user_games_activity」,@ 「user_relationship_details」,@ 「user_religion_politics」];

self.LoginView.delegate = self;

有後需要通過簡單地調用的方法,使用圖API調用web服務,其被提及作爲([自obtainUserData])如下:

- (無效)obtainUserData

{

NSString * fbAccessToken = [FBSession activeSession] .accessTokenData.accessToken;

NSString *fields [email protected]"id,name,first_name,last_name,picture,permissions,installed,music,likes,email,friends,gender,birthday,email,hometown,relationship_status,interested_in,sports"; 

// feed is use for all action 
NSString *path = [NSString stringWithFormat:@"https://graph.facebook.com/me?fields=%@",fields]; 
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@&access_token=%@", path,fbAccessToken]]; 
NSLog(@"%@",url); 

NSURLRequest *req=[NSURLRequest requestWithURL:url]; 
NSURLConnection *conn=[[NSURLConnection alloc]initWithRequest:req delegate:self]; 
// NSMutableData *jsondata=[[NSMutableData alloc]init]; 
NSMutableData *data = [[NSMutableData alloc] init]; 
self.receivedData = data; 
[conn start]; 

}

//這裏receivedData是NSMutable數據的對象

你會得到下面的方法你所需的輸出:

- (空)connectionDidFinishLoading:(NSURLConnection的*)連接

{

N SMutableDictionary * json = [NSJSONSerialization JSONObjectWithData:_receivedData options:NSJSONReadingMutableContainers error:nil];

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

}

希望這有助於!

+0

感謝您的努力,但結果JSON爲null。 –