我正在开发一个 iPhone 应用程序,其中一部分依赖于 Facebook 集成。我从网站下载了 3.1 版的 SDK 并按照第一个教程,在此链接中找到:Authenticate。
我在 iPhone 4 和 Xcode 4.5 上使用 iOS 6.0.1。
虽然登录工作正常,但按照此处的步骤请求基本用户信息时,应用程序会出现以下错误:
2013-01-01 23:13:57.966 AppName[8691:907] Error: HTTP status code: 400
2013-01-01 23:13:57.977 AppName[8691:907] FBSDKLog: Response <#1111> <Error>:
The operation couldn’t be completed. (com.facebook.sdk error 5.)
这是我用来请求信息的代码:
if (FBSession.activeSession.isOpen) {
[FBSettings setLoggingBehavior:[NSSet setWithObjects:
FBLoggingBehaviorFBRequests, nil]];
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *aUser,
NSError *error) {
if (!error) {
NSLog(@"%@", [[FBSession activeSession] accessToken]);
userProfileImage.profileID = aUser.id;
self.user = [[User alloc] initWithName:aUser.name andLocation:[aUser.location objectForKey:@"name"]];
[self.user saveUser];
[nameTextField setText:[self.user getName]];
[locationTextField setText:[self.user getLocation]];
}
}];
}
奇怪的是 FBRequest 在模拟器中工作。我检查了访问令牌,我也在 iPhone 上得到了一个。
另一件可能很重要的事情:在模拟器上,应用程序重定向到它获得授权的 Facebook 网站(我可以在 Facebook 上的应用程序列表中查看它)。另一方面,从设备登录时,我只在第一次登录时收到标准警报,并且该应用程序没有添加到 Facebook 上。
PS:这是我的第一个问题,所以我为信息的数量(或缺乏)道歉。预先感谢您帮助我!