目前我正在使用iOS API来获取访问令牌并将其作为cookie传递给webview。在webview中(因为我的应用程序的一部分是iOS而另一部分是html5,但我不想让用户登录两次)我在服务器端抓取访问令牌。
我正在使用 setAccessToken()函数设置访问令牌(使用Facebook PHP SDK),但在我调用 getUser()之后立即设置我是总是0回来。
我知道SDK通常可以工作,因为我使用的所有代码都适用于普通的“web”版本。其他人似乎已经开始工作,所以我希望这实际上是可行的。一直坚持这一点,所以非常感谢任何关于让这项工作尽快的帮助/建议!谢谢!
答案 0 :(得分:1)
在我的所有代码中,我现在不执行“getUser”来查找令牌是否有效,而是“/ me”调用。 getUser()经常在“/ me”工作的地方失败。所以你并不孤单。然后我从/ me调用中获取userID。所有包裹在try / catch中,当然:)
另一个提示:你说你将会话作为cookie传递 - 希望这是你控制的cookie吗?根据我的经验,不要混合“cookie”和“not cookie”模式 - 如果你在一个系统中手动处理get / setAccessToken,那么每个地方都关闭cookie(webview,php server,Javascript等)。在此之后,我在尝试做的事情中没有遇到任何问题。
另外需要注意的是,如果您“setAccessToken”并且它无效,那么PHP SDK将清除您的会话值(如果有的话)。不只是PHP会话变量,而是所有这些变量。
最后,我还有/我返回逻辑值,但是像FirstName这样的东西是空白的。没有理解为什么会发生这种情况,但是(可能永远不会),但是在共享令牌时需要编程。
这是Facebook。从来没有意思轻松{grin}。
希望有所帮助。