Ant*_*ony 22 javascript php jquery facebook
我如何结合两者的例子
https://github.com/facebook/php-sdk/blob/master/examples/example.php和 https://github.com/facebook/connect-js/blob/master/examples/jquery/login.html
最终目标是我们可以使用jQuery登录,不知何故,以下行仍然有效
$user = $facebook->getUser();
Run Code Online (Sandbox Code Playgroud)
我目前注意到的是,当我使用JavaScript登录时,它不会使用PHP设置会话,因此,它与基于PHP的SDK不兼容(因此在这种情况下$ user仍然为null)
我不是很喜欢<a href="$facebook->getLoginUrl()">Login with Facebook</a>,因为它会导致浏览器加载不同的页面(Facebook登录),然后重定向回Web应用程序.如果我可以为用户加载一个弹出框来登录,然后透明地重定向回我的网络应用程序,那就更理想了.因此,我将非常感谢有关如何实现此用户体验的任何建议.谢谢!
Ped*_*rde 15
不确定你是否有这个工作.当前的JS API具有保存cookie的配置,因此服务器可以读取它:
FB.init({
appId : 'YOUR APP ID',
cookie : true
});
Run Code Online (Sandbox Code Playgroud)
现在,在PHP中,您可以执行以下操作来使用JS中的会话:
// Read the cookie created by the JS API
$cookie = preg_replace("/^\"|\"$/i", "", $_COOKIE['fbs_' . FB_APP_ID]);
parse_str($cookie, $data);
// Startup the Facebook object
$fb = new Facebook(array(
'appId' => FB_APP_ID,
'secret' => FB_APP_SECRET
));
// Say we are using the token from the JS
$fb->setAccessToken($data['access_token']);
// It should work now
var_dump($fb->getUser());
Run Code Online (Sandbox Code Playgroud)
希望它有所帮助.
Phi*_*hil 12
我只是使用Facebook登录按钮 - https://developers.facebook.com/docs/reference/plugins/login/
一旦用户使用该登录(如果他们尚未登录)并授予对您的应用程序(站点)的访问权限,PHP-SDK应该可以毫无困难地使用Facebook会话和API.
我刚刚尝试使用新版本的3.0 PHP SDK,它肯定无法正常工作.在开发者博客上找到了这个
如果您使用JavaScript SDK与PHP SDK一起登录,则需要等待JavaScript SDK升级(即将在4周内完成).由于cookie格式的改变,PHP SDK 3.0.0版不会与当前的JavaScript SDK配合使用.
换句话说,在更新JS SDK之前使用v2 PHP SDK.