gpt4 book ai didi

ios-Facebook SDK 3.0 发布状态更新时报错5

转载 作者:技术小花猫 更新时间:2023-10-29 10:23:53 25 4
gpt4 key购买 nike

我正在尝试使用新的(测试版)facebook ios sdk 3.0 在应用程序中添加 facebook 集成。我只想在 Facebook 上发布状态更新。我使用 FBLoginView 登录到 facebook。我按照 facebook 上的说明将我的应用程序 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];
}

奇怪的是,这段代码只工作一次。第一次验证用户身份后,我可以成功发布一个状态更新。之后,所有后续尝试都将失败并出现 FBioSSDK 错误 5(在控制台中,错误:HTTP 状态代码:400)。解决此问题的唯一方法是从 Facebook 帐户中删除该应用程序并重新进行身份验证。我不确定是什么问题。我在网上寻找解决方案,但找不到任何东西。如果有人知道如何解决这个问题,请告诉我。谢谢

最佳答案

com.facebook.sdk 错误 5 在使用 Facebook iOS sdk 时总是令人恼火。大多数情况下,它在控制台中附带附加错误:HTTP 状态代码:400。它认为 Facebook iOS sdk 中存在随机产生此错误的错误。我认为此错误是由于某些特定原因而发生的,并且 sdk 在发生错误时不提供实际错误原因。

几个可能的原因

  • sdk 中的每个请求都是通过我们实际作为参数传递给 completionHandler 的完成 block 来完成的。当 block 正在进行并发出另一个请求时,会发生此错误。一个简单的例子可能是如果你已经写了在 Facebook 上发帖的请求 (startForPostStatusUpdate::) 上的一些按钮操作。在单击按钮时它会工作正常但如果你双击按钮它会抛出这个错误 com.facebook.sdk error 5

  • 如果您尝试在当前 session 未打开时发帖。例如使用 Facebook 登录后,关闭应用程序,然后重新打开,然后尝试在 Facebook 上共享,结果 -> com.facebook.sdk 错误 5。在这种情况下,尝试使用

  • 重新打开 session
  • Facebook 不允许重复发布相同的状态,他们认为这可能是某种垃圾邮件,例如如果你正在尝试更新状态并且你已经硬编码了一个字符串让我们说@“这是一个测试状态更新”你一次又一次地冒充。尝试 5 到 10 次后,他们将不再允许您这样做。导致 com.facebook.sdk 错误 5。如果是这种情况,您应该更改状态字符串并尝试更新。

  • Facebook 已为特定用户使用 sdk 发布状态定义了限制。例如,如果您正在尝试更新状态并且您已经完成了 15 到 20 次状态更新。他们不会让您做更多结果 -> com.facebook.sdk 错误 5。在这种情况下,尝试从您的 Facebook 帐户取消对应用的授权并重新授权,或者尝试使用其他 Facebook 帐户

关于ios-Facebook SDK 3.0 发布状态更新时报错5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11850899/

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