【问题标题】:Facebook iOS Authorise and Post Without Dialog?Facebook iOS 在没有对话框的情况下授权和发布?
【发布时间】:2011-09-02 22:05:39
【问题描述】:

我刚开始使用适用于 iOS 的 Facebook SDK,并彻底检查了文档和其他帮助,但无法成功。

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

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

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

谢谢。

【问题讨论】:

  • 嘿,没有对话可以分享图片吗?请尽快恢复

标签: iphone objective-c ios facebook


【解决方案1】:

您的委托缺少关键点,您必须自己保存会话数据

- (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];

希望对你有帮助

【讨论】:

  • 我在回答中添加了一些关于在没有对话框的情况下发布的内容
  • 很棒的博客和表格视图教程。可能真的会使用它。没有对话发布代码没有成功,它不会崩溃,但不会做任何事情。也只是为了确保我获得了正确的授权,我复制了你的代码,但我收到错误说密钥:声明了 ACCESS_TOKEN_KEY 和 EXPIRATION_DATE_KEY。当然他们不需要,因为我们只是在创建一个密钥?
  • 我在尝试发帖时返回此错误:facebookErrDomain error 10000
  • ACCESS_TOKEN_KEY 和 EXPIRATION_DATE_KEY 是常量。您应该在代码中的某处定义它们。类似#define EXPIRATION_DATE_KEY @"ExpKey"
  • 最后一个问题。 fbDidLogin 方法,我需要调用它还是 Facebook 委托会自动调用它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-22
  • 2012-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多