我正在尝试将 Facebook 集成到 iOS 应用程序中。我已经正确完成了身份验证。我正在使用 Raywenderlich 的代码。我试图执行该代码。但我得到错误。当我尝试使用访问令牌获取用户的个人资料时,它不会获取它。相反,它调用了失败方法。我已经在很多网站上尝试过,但我无法解决这个问题。
我有这个疑问,在下面的方法中,我在日志中打印了 url。当复制该网址并将其粘贴到浏览器中并运行它时。它提供了 json 数据。但在代码中它不获取。它总是称为失败的方法。
这是我的代码。
- (void) getFacebookProfile {
NSString * urlString = [NSString stringWithFormat:@"https://graph.facebook.com/me?access_token=%@",[_accessToken stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"profile UrlString: %@", urlString);
NSURL * url = [NSURL URLWithString:urlString];
ASIHTTPRequest * request = [ASIHTTPRequest requestWithURL:url];
[request setDidFinishSelector:@selector(getFacebookProfileFinished:)];
[request setDidFailSelector:@selector(getFacebookProfileFailed:)];
[request setDelegate:self];
[request setValidatesSecureCertificate:NO];
request.shouldAttemptPersistentConnection = NO;
[request startAsynchronous];
}
- (void) getFacebookProfileFailed:(ASIHTTPRequest *) request {
NSLog(@"profile information has failed");
NSLog(@"%@", [request error]);
}
- (void) getFacebookProfileFinished:(ASIHTTPRequest *)request {
//somecode
}
此代码始终调用失败方法。在失败方法中,ii 打印了错误。错误如下
错误域=ASIHTTPRequestErrorDomain Code=1 "发生连接失败" UserInfo=0x94d47a0 {NSUnderlyingError=0xa36b700 "操作无法完成。(kCFErrorDomainCFNetwork 错误 2.)", NSLocalizedDescription=发生连接失败}