【发布时间】:2012-08-04 18:13:13
【问题描述】:
我正在尝试使用新的(测试版)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];
}
奇怪的是,这段代码只运行一次。首次验证用户身份后,我可以成功发布 ONE 状态更新。之后,所有后续尝试都将失败,并出现 FBiOSSDK 错误 5(在控制台中,错误:HTTP 状态代码:400)。解决此问题的唯一方法是从 facebook 帐户中删除该应用程序并重新进行身份验证。我不确定问题是什么。我在网上寻找解决方案,但找不到任何东西。如果有人知道如何解决这个问题,请告诉我。谢谢
【问题讨论】:
-
得到了相同的代码。使用更改了 app_id 的美味 Facebook 示例项目。也许它是相关的......
-
我认为问题是由于某种原因您无法在特定时间段内发布一次相同的状态更新。如果您尝试发布相同的状态更新,请尝试在每个帖子中更改它
-
发现问题。在返回的 NSError 的 userInfo 中有响应消息“已达到 Feed 操作请求限制”。进一步挖掘......
标签: ios facebook facebook-ios-sdk