iphone - 如何在 iPhone 的 Facebook API 中显式获取访问 token ?

标签 iphone facebook

我最近下载了 Facebook iPhone 演示应用程序。我已经多次尝试掌握身份验证过程,但我完全感到困惑。似乎有很多示例代码在此版本的 API 中已过时。

在我的主视图 Controller 的 .m 文件中,我的开头有以下内容:

#import "FBConnect.h"

需要来自 Facebook 的信息的按钮使用此行,与演示应用程序相同:

[_facebook requestWithGraphPath:@"me" andDelegate:self]; 

这会调用以下方法:

- (void)request:(FBRequest *)request didLoad:(id)result {

我已将我的功能融入到此方法中。我从 Facebook 获取一些我需要的东西,并通过 HTTP POST 命令将它们发送到我的后端。例如,[result objectForKey:@"id"] 返回 id,[result objectForKey:@"name"] 返回名称。但是,[result objectForKey:@"access_token"] 不返回任何内容。这非常令人沮丧,因为我需要将访问 token 传递到我的 Google App Engine 用户管理后端才能创建新用户。因此,希望我所包含的代码能够使我的身份验证策略变得清晰(无论它是什么)。有谁知道我如何在这种情况下获得访问 token ?如果您能帮我解决我需要包含哪些头文件等问题,我将不胜感激?

谢谢

约翰

最佳答案

我正在做和你一样的事情。我正在发出自己的 HTTP 请求,因此我需要 accessToken,而且,iOS Facebook SDK 不会记住过去启动的 accessToken,即使有无过期请求!

调用[_facebook授权:权限委托(delegate): self ]后;在 fbDidLogin 委托(delegate)调用中,您可以轻松拉取(假设您将 facebook 对象保留在 _facebook 中):

- (void)fbDidLogin {
NSString *accessToken = _facebook.accessToken;
NSDate *expirationDate = _facebook.expirationDate;
}

瞧。

要通过应用程序启动来处理持久性,您可以保存此数据并在发出任何请求之前手动设置这些访问器。

关于iphone - 如何在 iPhone 的 Facebook API 中显式获取访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5698436/

相关文章:

iPhone异步文件加载?

iphone - 带有内联 SVG 的 UIWebview Html5

iphone - 在uidatepicker上设置日期错误

javascript - Facebook 应用程序在 Chrome 中不起作用,但在 Firefox 中运行良好

PHP 脚本检查用户是否已存在于 MySQL 数据库中

javascript - Facebook 页面选项卡应用程序签名请求应用程序数据丢失

iphone - 当我的 viewDidDisappear 时,我尝试释放我的表格。当我回到视野时仍然在那里

iphone - 我需要维护两个sdk(3.0和4.0)。但在 3.0 sdk 中我收到错误

php - OAuthException : redirect_uri isn't an absolute URI. 检查 RFC 3986 (Symfony)

Android Facebook SDK 导入出现错误 - Eclipse