取回Facebook我和其他用户之间的相互朋友

我想在我的iOS应用程序中取得Facebook相互的朋友

这是我的尝试,让我与这个链接打电话给共同的朋友

[NSString stringWithFormat:@"me/mutual_friends/%@?fields=installed",fbuserId] 

它给我错误代码5,当我使用@"me/friends"它返回结果我也尝试使用graphicsapi资源pipe理器它给未知path

APigraphics浏览器尝试

我的应用程序有user_friends权限可以任何一个告诉我正确的path?

您正在使用错误的端点语法,正如@CBroe已经指出的那样,以及哪些文件也是清楚的。

你需要使用

 /{user-id}.context/mutual_friends 

{user-id}是您感兴趣的用户,“other”用户是访问令牌用于请求的用户。 这只适用于已经是你的应用程序用户的用户。

是的,我非常容易解决你的问题。

 NSString *myFriendId = [NSString stringWithFormat:@"/%@",#YourFriendId#]; NSString *hashedAccessToken = [self hmac:accessToken withKey:kAPP_SECRETE]; NSDictionary *params = @{ @"fields" : @"context.fields(mutual_friends)", @"appsecret_proof" : hashedAccessToken, @"access_token" : accessToken }; /* make the API call */ [FBRequestConnection startWithGraphPath:myFriendId parameters:params HTTPMethod:@"GET" completionHandler:^ ( FBRequestConnection *connection, id result, NSError *error ){//Handle Respons;}]; 

这里是hmac函数(Add#import)

 //SHA256 HASHMAC - (NSString *)hmac:(NSString *)access_token withKey:(NSString *)app_secret { const char *cKey = [app_secret cStringUsingEncoding:NSASCIIStringEncoding]; const char *cData = [access_token cStringUsingEncoding:NSASCIIStringEncoding]; unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH]; CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC); NSData *HMACData = [NSData dataWithBytes:cHMAC length:sizeof(cHMAC)]; const unsigned char *buffer = (const unsigned char *)[HMACData bytes]; NSMutableString *HMAC = [NSMutableString stringWithCapacity:HMACData.length * 2]; for (int i = 0; i < HMACData.length; ++i){ [HMAC appendFormat:@"%02x", buffer[i]]; } return HMAC; }