php - 使用 setAccessToken() 设置 Facebook PHP SDK access_token

标签 php ios facebook sdk

目前我正在使用 iOS api 获取访问 token 并将其作为 cookie 传递给 webview。在 webview 中(因为我的应用程序的一部分是 iOS,另一部分是 html5,但我不想让用户登录两次)我在服务器端获取访问 token 。

我正在使用 setAccessToken() 函数设置访问 token (使用 Facebook PHP SDK),但紧接着,当我调用 getUser() 时,我总是得到 0 返回。

我知道 SDK 通常可以正常工作,因为我使用的所有代码都适用于普通的“网络”版本。其他人似乎已经完成了这项工作,所以我希望这实际上是可能的。坚持了一段时间所以非常感谢任何帮助/建议尽快让这个工作!谢谢!

最佳答案

在我所有的代码中,我现在不执行“getUser”来查找 token 是否有效,而是调用“/me”。 getUser() 通常在“/me”起作用的地方失败。所以你不是唯一有这个发现的人。然后我改为从/me 调用中获取用户 ID。当然,所有内容都包含在 try/catch 中 :)

另一个提示:您说您将 session 作为 cookie 传递 - 希望这是您控制的 cookie?根据我的经验,不要混合使用“cookie”和“非 cookie”模式——如果您在一个系统中使用 get/setAccessToken 手动处理,那么请在所有地方(webview、php 服务器、Javascript 等)关闭 cookie。在此之后,我在尝试执行的操作中传递 token 时没有遇到任何问题。

另一件需要注意的事情是,如果您“setAccessToken”并且它无效,PHP SDK 将清除您的 session 变量(如果有的话)。不仅仅是 PHP session 变量,而是所有这些变量。

最后,我还让/me 返回了逻辑值,但是像 FirstName 这样的东西是空白的。还没有解决为什么会发生这种情况(而且可能永远不会),但是在共享 token 时需要编程的其他东西。

这是 Facebook 。绝不意味着容易{咧嘴笑}。

希望对您有所帮助。

关于php - 使用 setAccessToken() 设置 Facebook PHP SDK access_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10764248/

相关文章:

php - 在 Woocommerce 上的产品中设置产品类别术语

ios - 如何在没有 segue 的情况下使用通知中心将数据从第一个 TableView 发送到第二个 TableView

objective-c - 从外部源 iOS 下载图像

android - Facebook SDK 3.0 Android - 缺少 token

php - 如何获取特定时间段内facebook用户添加的好友数?

php - 日程表中的分组日

javascript - 在 php 中使用 ajax 重定向用户后显示 Div

javascript - 使用 PHP/Javascript 创建图像,在图像周围提供灰色输出

ios - 如何向导航栏添加两个栏按钮?遇到错误

javascript - JS FB :Wall not working