gpt4 book ai didi

ios - 在 iOS 中获取 Facebook 好友时出错

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:14 25 4
gpt4 key购买 nike

我正在尝试获取已登录用户的 Facebook 好友列表,它在我的帐户中运行良好,但是当我将应用程序详细信息迁移到新帐户并更改应用程序 ID 和应用程序密码时,出现以下错误

Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0xf89c0b0 {com.facebook.sdk:HTTPStatusCode=400, com.facebook.sdk:ParsedJSONResponseKey={
body = {
error = {
code = 100;
message = "(#100) Unknown fields: username.";
type = OAuthException;
};
};
code = 400;
}, com.facebook.sdk:ErrorSessionKey=<FBSession: 0xe5a6c30, state: FBSessionStateOpen, loginHandler: 0xe58d5a0, appID: 705259966179163, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0xf87b180>, expirationDate: 4001-01-01 00:00:00 +0000, refreshDate: 2014-05-20 07:14:50 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(
status,
permission
)>}

这是我当前获取好友的代码

- (BOOL)retrieveFacebookFriendsForProfileId:(NSString *)fbProfileId completionBlock:(void (^)(NSArray *, NSError *))completionBlock
{

[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
if (error) {

NSLog(@"Error");
} else if (session.isOpen) {

[[FBRequest requestForMe] startWithCompletionHandler: ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
if (error) {
//Throws the code 100 error here
completionBlock(nil, error);
}else{
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,NSDictionary* result,NSError *error) {
if(error)
completionBlock(nil, error);
else
{
NSArray *friendJSONs = [result objectForKey:@"data"];

NSMutableArray *friends=[NSMutableArray array];
for(NSDictionary * friendDict in friendJSONs)
{
SocialProfile *friend=[[SocialProfile alloc] initWithDictionary:friendDict socialMedia:kSocialMediaFacebook];
[friends addObject:friend];
}
completionBlock(friends, nil);
}
}];
}
}];

}
}];
return YES;
}

如果我使用我的旧应用 ID 和 secret ,此代码可以正常工作。我检查了新帐户中的设置,一切都和我在旧帐户中所做的一样,我不明白问题出在哪里。感谢任何帮助

最佳答案

根据 https://developers.facebook.com/docs/apps/changelog好友列表现在仅返回也使用您的应用的好友:通过/me/friends 端点返回的好友列表现在仅限于已授权您的应用的好友列表。

所以我将上面的代码更改为这个,它给了我使用该应用程序的 friend 列表,而不是整个 FB 好友列表

FBRequest *friendsRequest = [FBRequest requestForGraphPath:@"/me/friends"];

关于ios - 在 iOS 中获取 Facebook 好友时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23753745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com