Ios 用户好友在Facebook Sdk Graph Api v2中显示空列表
我已将图形Api的版本更新为v2。现在我面临的问题是,当我执行以下代码时,它会显示空数组:Ios 用户好友在Facebook Sdk Graph Api v2中显示空列表,ios,objective-c,facebook-graph-api,Ios,Objective C,Facebook Graph Api,我已将图形Api的版本更新为v2。现在我面临的问题是,当我执行以下代码时,它会显示空数组: FBRequest *friendsRequest = [FBRequest requestForMyFriends]; [friendsRequest startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *result, NSError *error)
FBRequest *friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *result, NSError *error) {
NSArray *friendshipid;
NSString *username;
if (!error) {
NSLog(@"friends = %@", [result description]);
}
if (completion) {
completion(friendshipid, username, error);
}
}];
}
}
FBRequest*friendsRequest=[FBRequestFormyFriends];
[FriendsRequestStartWithCompletionHandler:^(FBRequestConnection*连接,NSDictionary*结果,NSError*错误){
NSArray*友谊ID;
NSString*用户名;
如果(!错误){
NSLog(@“friends=%@,[结果描述]);
}
如果(完成){
完成(friendshipid、用户名、错误);
}
}];
}
}
我知道facebook sdk对用户朋友进行了一些更改,现在它必须获得用户朋友的权限,但我不知道在哪里进行更改以请求用户朋友的权限,您可以使用给定的代码片段。在这里,我使用了
socialframework
类来获取Facebook好友
。希望它对你有用
- (void) connectWithFacebookFriends
{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountTypeFacebook = [accountStore accountTypeWithAccountTypeIdentifier:
ACAccountTypeIdentifierFacebook];
NSDictionary *options = @{ACFacebookAppIdKey: kFaceBookId,
ACFacebookPermissionsKey: @[@"user_friends"],
ACFacebookAudienceKey: ACFacebookAudienceFriends
};
[accountStore requestAccessToAccountsWithType:accountTypeFacebook
options:options
completion:^(BOOL granted, NSError *error)
{
if(granted) {
NSArray *accounts = [accountStore
accountsWithAccountType:accountTypeFacebook];
ACAccount* facebookAccount = [accounts lastObject];
NSString *acessToken = [NSString stringWithFormat:@"%@",facebookAccount.credential.oauthToken];
NSDictionary *parameters = @{@"access_token": acessToken};
NSURL *feedURL = [NSURL URLWithString:@"https://graph.facebook.com/me/friends"];
SLRequest *feedRequest =
[SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:feedURL
parameters:parameters];
[feedRequest performRequestWithHandler:^(NSData *responseData,
NSHTTPURLResponse *urlResponse, NSError *error)
{
NSString * str = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
DLog(@"%@",str);
NSLog(@"Request failed, %@", [urlResponse description]);
}];
} else {
NSLog(@"Access Denied");
NSLog(@"[%@]",[error localizedDescription]);
}
}];
}
这在v2.1中是不推荐的,如果你从Facebook下载了示例项目,经常尝试friendpickersample或ScrumPostHanks,我只是想看看示例项目。