在 PHP 中使用 Facebook sdk4 登录

Posted

技术标签:

【中文标题】在 PHP 中使用 Facebook sdk4 登录【英文标题】:Logging in with Facebook sdk4 in PHP 【发布时间】:2014-05-15 17:00:36 【问题描述】:

我在范围方面遇到了一些实际问题。这很大程度上与我从未使用过 php 命名空间这一事实有关。我看到像this one 这样的例子,我可以让它完美地工作。但是由于我构建网站的方式,我使用了很多功能。我想创建一个全局 PHP 对象,然后在函数中调用它。

我从 2011 年开始使用 Facebook api 完成此操作,它只有 facebook.php、base_facebook.php 和 fb_ca_chain_bundle.crt,但我想使用可用的最新版本推进。

我允许使用 Facebook 或 Twitter 访问我的网站,因此用户登录,它会检查活动的网站会话,如果找不到,它会检查活动的 Facebook 会话,它然后检查用户数据库。我在访问它时遇到的问题我可以在我的基本代码中创建这个会话,但我似乎无法从登录处理函数中访问它。

我一直在寻找,但现在我不确定要寻找什么。如果有人可以给我一个示例,说明如何访问全局初始化的函数中的 Facebook 对象,我可能会从那里处理其余部分。

【问题讨论】:

新的SDK没有全局的登录状态,需要的话需要自己创建。 我遇到的问题是,如果我想在全局区域初始化这些,即使只是做包含,我最难弄清楚如何从函数中访问它们.例如,由于对象已包含在文档中,此代码仍应在函数中工作, $request = new FacebookRequest( $fbsession, 'GET', '/me' ); - 但我收到错误:“致命错误:找不到类'FacebookRequest'” - 我不明白我缺少什么,但我相信它与此 SDK 中使用的命名空间有关,我不熟悉与 您收到该错误是因为您没有包含包含 FacebookRequest 的文件 【参考方案1】:

(代表问题作者发布).

这是一个足够简单的解决方案,只是我不熟悉的东西。调用对象时,您还需要表达命名空间。所以我的电话

new FacebookRequest() - Does Not Work within a function

new Facebook\FacebookRequest() - Does Work

我仍然需要稍微了解一下,但至少我有一个可行的解决方案。

【讨论】:

以上是关于在 PHP 中使用 Facebook sdk4 登录的主要内容,如果未能解决你的问题,请参考以下文章

实战:第十八章:facebook和google免登接入

实战:第十八章:facebook和google免登接入

如何在 Facebook Android sdk 4.0 中使用 Graph Request 获取登录用户的电子邮件地址

使用 sdk 4 的 Facebook 自定义登录 UI

旧版本的 Facebook 但我想要应用程序邀请 如何?

Xcode 如何更新 Facebook sdk