gpt4 book ai didi

iphone - Facebook iOS 授权并在没有对话的情况下发布?

转载 作者:可可西里 更新时间:2023-11-01 03:44:52 25 4
gpt4 key购买 nike

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

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

我也试过在没有对话框的情况下发帖到 Facebook。控制台告诉我已发出请求,但随后发生错误(没有崩溃,但 didFailWithError 告诉我)。

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

谢谢。

最佳答案

您在委托(delegate)中遗漏了一个关键点,您必须自己保存 session 数据

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

希望对你有帮助

关于iphone - Facebook iOS 授权并在没有对话的情况下发布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6144457/

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