目前,我正在使用webview获取访问令牌,并将其作为cookie传递给iOS视图。在webview中(因为我的应用程序的一部分是iOS,另一部分是html5,但我不想让用户登录两次),我在服务器端获取访问令牌。
我用setAccessToken()函数设置访问令牌(使用Facebook ),但在调用getUser()之后,我总是得到0。
我知道SDK的工作原理是因为我使用的所有代码都适用于正常的"web“版本。其他人似乎已经做到了这一点,所以我希望这是可能的。被困在这上一段时间,所以会非常感谢任何帮助/建议,使这个工作很快!谢谢!
发布于 2012-05-26 07:37:36
在我的所有代码中,我现在不执行"getUser“来查找令牌是否有效,而是一个"/me”调用。getUser()在"/me“工作的地方经常失败。所以你并不是唯一有发现的人。然后,我从userID调用中获得/me。当然,所有包装在try/catch中:)
另一个提示:你说你把会话作为一个cookie来传递--希望这是你控制的一个曲奇?根据我的经验,不要将"cookie“和"not”模式混在一起--如果您在一个系统中手动处理了get/setAccessToken,那么在每个系统(webview、php服务器、Javascript等)都关闭cookie。在此之后,我在我想要做的事情中传递令牌时没有遇到任何问题。
另一件需要注意的事情是,如果您"setAccessToken“并且它是无效的,PHP将清除您的会话验证(如果有)。不仅仅是PHP会话变量,而是所有这些变量。
最后,我还让/me返回逻辑值,但将FirstName之类的内容作为空白。还没有解决这种情况发生的原因,但是(而且可能永远也不会),而是在共享令牌时需要编程的其他东西。
是脸书。从来不想变得很容易。
希望这能有所帮助。
https://stackoverflow.com/questions/10764248
复制相似问题