Facebook iOS 无需对话框即可授权和发布?

2023-11-21

我刚刚开始使用 iOS 版 Facebook SDK,并彻底检查了文档和其他帮助,但未能成功。

我已经启动了一个新的基于视图的应用程序,并按照文档中的建议进行了授权。每次我启动该应用程序时,它都会切换到 Facebook 应用程序(我已安装在 iPhone 上)并显示已授权,请按“确定”。我怎样才能阻止它重复这样做呢?

我也尝试过在没有对话的情况下在 Facebook 上发帖。控制台告诉我发出了一个请求,但随后发生了错误(不会崩溃,但 didFailWithError 告诉我)。

无论如何,我还没有发布任何代码,因为它看起来相对简单,所以如果有人知道如何做到这一点,我将非常感谢任何帮助,甚至可能是代码示例。

Thanks.


您错过了委托中的一个关键点,您必须自己保存会话数据

- (void)fbDidLogin {
    // store the access token and expiration date to the user defaults
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:facebook.accessToken forKey:ACCESS_TOKEN_KEY];
    [defaults setObject:facebook.expirationDate forKey:EXPIRATION_DATE_KEY];
    [defaults synchronize];
}

然后当你初始化 facebook 时你会执行以下操作

facebook = [[Facebook alloc] initWithAppId:kAppId];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
facebook.accessToken = [defaults objectForKey:ACCESS_TOKEN_KEY];
facebook.expirationDate = [defaults objectForKey:EXPIRATION_DATE_KEY];

最后,如果你想在没有对话框的情况下发布,你可以这样做

NSString *message = @"Visit my blog http://effectivemobility.blogspot.com/";
NSArray *obj = [NSArray arrayWithObjects:message, nil];
NSArray *keys = [NSArray arrayWithObjects:@"message", nil];

// There are many other params you can use, check the API
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjects:obj forKeys:keys];

[facebook requestWithGraphPath:@"me/feed" andParams:params andHttpMethod:@"POST" andDelegate:nil];

我希望这有帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Facebook iOS 无需对话框即可授权和发布? 的相关文章

随机推荐