ben*_*555 13 facebook ios facebook-ios-sdk
我正在尝试使用新的(beta)facebook ios sdk 3.0在应用程序中添加facebook集成.我想要的是向facebook发布状态更新.我使用FBLoginView登录Facebook.我按照facebook上的指示将我的app id放在plist中.我输入了一些代码发布到Facebook.
(void)viewDidLoad
{
[super viewDidLoad];
NSArray *perms;
perms = [NSArray arrayWithObjects:@"status_update", nil];
FBLoginView *loginview =
[[FBLoginView alloc] initWithPermissions:perms];
loginview.frame = CGRectOffset(loginview.frame, 5, 5);
loginview.delegate = self;
[self.view addSubview:loginview];
// Do any additional setup after loading the view, typically from a nib.
}
- (IBAction)poststatus:(UIButton *)sender {
NSString *message = [NSString stringWithFormat:@"Test staus update"];
[FBRequestConnection startForPostStatusUpdate:message
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
[self showAlert:message result:result error:error];
}];
}
- (void)showAlert:(NSString *)message
result:(id)result
error:(NSError *)error {
NSString *alertMsg;
NSString *alertTitle;
if (error) {
alertMsg = error.localizedDescription;
alertTitle = @"Error";
} else {
NSDictionary *resultDict = (NSDictionary *)result;
alertMsg = [NSString stringWithFormat:@"Successfully posted '%@'.\nPost ID: %@",
message, [resultDict valueForKey:@"id"]];
alertTitle = @"Success";
}
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:alertTitle
message:alertMsg
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
Run Code Online (Sandbox Code Playgroud)
奇怪的是,这段代码适用于ONCE.在第一次验证用户后,我可以成功发布一个状态更新.之后,所有后续尝试都将失败,并显示FBiOSSDK错误5(在控制台中,错误:HTTP状态代码:400).解决此问题的唯一方法是从Facebook帐户中删除应用程序并重新进行身份验证.我不确定问题是什么.我在网上寻找解决方案但找不到任何东西.如果有人知道如何解决这个问题,请告诉我.谢谢
abd*_*.me 10
com.facebook.sdk错误5在使用Facebook iOS sdk时总是很烦人.大多数情况下它附带在控制台错误:HTTP状态代码:400.它认为Facebook iOS sdk中存在一个随机产生此错误的错误.我认为这个错误由于某些原因而发生,并且sdk在发生时不提供错误的实际原因.
几个可能的原因
sdk中的每个请求都是使用我们在completionHandler中作为参数实际传递的完成块来完成的.当块正在进行并发出另一个请求时,会发生此错误.一个简单的例子可能是如果您已经写过请求在Facebook上发布(startForPostStatusUpdate::)的某些按钮操作.在单击按钮上它可以正常工作,但如果你双击按钮它将抛出此错误com.facebook.sdk错误5
如果您尝试在当前会话未打开时发布.例如,一旦用Facebook登录然后杀死应用程序然后重新打开,然后尝试在Facebook上分享,结果 - > com.facebook.sdk错误5.在这种情况下尝试重新打开会话
Facebook不允许重复发布相同的状态,他们认为它可能是某种垃圾邮件,例如,如果您正在尝试更新状态并且您有硬编码字符串,请说@"这是测试状态更新"您再次冒充然后再次.经过5到10次尝试,他们不会再让你做了.产生的com.facebook.sdk错误5.如果是这种情况,您应该更改状态字符串并尝试更新.
Facebook已经定义了特定用户使用sdk发布状态的限制.例如,如果您尝试更新状态并且已完成,则可以说15到20个状态更新.他们不会让你做更多结果 - > com.facebook.sdk错误5.在这种情况下尝试从您的Facebook帐户取消对该应用程序的授权并重新授权或尝试使用其他Facebook帐户
似乎这个问题可能没有答案.我已经检查了带有SDK的FB样本,在这些示例中也发生了同样的错误.所以这意味着在很少的状态更新(15-20)之后Facebook达到了该特定用户的限制.如果您注销该用户并以其他用户身份登录,则可以成功发布.
如果我找到任何限制设置的扩展名,我会回复.Facebook也不允许使用同一个帖子.
| 归档时间: |
|
| 查看次数: |
17202 次 |
| 最近记录: |