Xcode/Facebook如何获取Facebook的个人ID号
当一个用户在我的应用程序上登录facebook后,我正在尝试获取该用户的facebook ID 如果您转到此链接,您将看到我要获取的ID号: 当前,当我尝试获取登录用户ID(我的ID)时,我会得到一个不同的号码,该号码与上面链接中的号码不匹配 这是给我错误身份证号码的代码:Xcode/Facebook如何获取Facebook的个人ID号,xcode,facebook,Xcode,Facebook,当一个用户在我的应用程序上登录facebook后,我正在尝试获取该用户的facebook ID 如果您转到此链接,您将看到我要获取的ID号: 当前,当我尝试获取登录用户ID(我的ID)时,我会得到一个不同的号码,该号码与上面链接中的号码不匹配 这是给我错误身份证号码的代码: -(void)getID { // Create request for user's Facebook data FBRequest *request = [FBRequest requestForGrap
-(void)getID
{
// Create request for user's Facebook data
FBRequest *request = [FBRequest requestForGraphPath:@"me/?fields=name,picture,first_name,birthday,email,location,last_name"];
// Send request to Facebook
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@"Jeffreys UID: %@", [result objectForKey:@"id"]);
}
else{
NSLog(error.description);
}
}];
}
上面的代码将打印出以下行:
2014-08-14 12:50:54.949野火[1902:60b]Jeffreys UID:
724908934237355
但这不是我想要的。我想要的UID应该等于:100001547661002
请尽可能详细地向我解释这一点,因为我不是一个非常有经验的xcode程序员。谢谢!!!:)
更新2:
这里有更多的信息。使用下面的代码,我可以为我所有的facebook好友获得所有正确的ID:
// Query to fetch the active user's friends, limit to 25.
NSString *query =
@"SELECT uid, name, FROM user WHERE uid IN "
@"(SELECT uid2 FROM friend WHERE uid1 = me())";
// Set up the query parameter
NSDictionary *queryParam = @{ @"q": query };
// Make the API request that uses FQL
[FBRequestConnection startWithGraphPath:@"/fql"
parameters:queryParam
HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (error) {
NSLog(@"Error: %@", [error localizedDescription]);
} else {
NSLog(@"Result: %@", result);
// Get the friend data to display
NSArray *friendInfo = (NSArray *) result[@"data"];
// Show the friend details display
[self showFriends:friendInfo];
NSLog(@"Jason I****: %@",[[friendInfo objectAtIndex:1] objectForKey:@"uid"]);
}
}];
这段代码的打印输出是:2014-08-14:04:51.066
2014-08-14 14:11:06.362 Wlldfire[2098:60b]杰森一世****:1248270***
2014-08-14 14:11:06.364 Wlldfire[2098:60b]目录:{
name=“Gabe Be***”;
uid=503069***;}2014-08-14 14:11:06.386 Wlldfire[2098:60b]目录:{
name=“Jason I****”;
uid=1248270***;}
是否仍然可以为登录的用户获取此类ID?724908934237355是正确的。API返回应用程序范围的用户ID。请阅读API v2.0的更改日志,以了解哪些应用程序范围的用户ID。在应用程序上线/获得批准之前,Facebook的应用程序ID是否有效?因为我开始认为这可能是问题所在。