Sne*_*ish 1 php facebook facebook-php-sdk
每当我尝试登录时,会打开一个询问基本权限的提示,然后将其重定向到带有URL的redirect_uri
="> HTTP://本地主机/演示/代码= AQDwzia3Wx1BktixF59jVHbm0ViGVJm8Xhb2tNZDyYreZh0KoSJhrSsJ8Aa2KX3gocwR0XNQjQz7ZlBh26_nBi-3iOMByhVO2cxwJ8maC4IHxBacfqXjzqIyBaZQbWKUUxPI6VBrqBgFXQasj7PEtmug7lt93dK4fmMC2A4i2dUYU-gSvzn0f0ZdB3eT_aSvgR1KoLCmQgLh3xix4H05QR6LCP9nLtQC4l9rMJW83kS0PNmWq0COZYvGfuX1R7519Fn3iXRB9F0MTsK1KQ_ulpK84PUCkuMu8et88Lln0ZwuzaPo0oERelkPWYnrrTKa-5W&状态= ed66ea618d8076d9e72c15d9a65a6312#=
即使facebook-> getUser()返回0
这是我的代码
<?php
require_once('php-sdk/facebook.php');
$facebook = new Facebook (array(
'appId' => '1234',
'secret' => '12313',
'cookie' => true
));
?>
<html>
<head> <title> Warming Up with FB API </title> </head>
<body> <h1> Hello World </h1> </body>
</html>
<?php
$loginUrl = $facebook->getLoginUrl(array (
'display' => 'popup',
'redirect_uri' => 'http://localhost/demo'
));
$user = $facebook->getUser();
//echo $user. '</br>';
if ($user) {
echo '<em>User Id: </em> '.$user;
} else {
$loginUrl = $facebook->getLoginUrl(array (
'display' => 'popup',
'redirect_uri' => 'http://localhost/demo'
));
echo '<a href = "'.$loginUrl.'">Login Here </a> ';
}
?>
Run Code Online (Sandbox Code Playgroud)
我知道这是一个非常微不足道的问题,但我有点坚持这个,无法继续前进.请建议做什么.
*更新*
让App Domain为空解决了我的问题.
小智 11
如果有人仍在敲头,这就是现在的错误.我被雇来修理这个烂摊子!
在fb面板中检查App域,必须与您的应用所在的域匹配.
编辑base_facebook.php找到:
public function getAccessToken(){
if ($this->accessToken !== null) {
// we've done this already and cached it. Just return.
return $this->accessToken;
}
// first establish access token to be the application
// access token, in case we navigate to the /oauth/access_token
// endpoint, where SOME access token is required.
$getApplicationAccessToken = $this->getApplicationAccessToken();
$this->setAccessToken($getApplicationAccessToken);
$user_access_token = $this->getUserAccessToken();
if ($user_access_token) {
$this->setAccessToken($user_access_token);
}
return $this->accessToken;
Run Code Online (Sandbox Code Playgroud)
}
至::
public function getAccessToken() {
if ($this->accessToken !== null) {
// we've done this already and cached it. Just return.
return $this->accessToken;
}
// first establish access token to be the application
// access token, in case we navigate to the /oauth/access_token
// endpoint, where SOME access token is required.
$getApplicationAccessToken = $this->getApplicationAccessToken();
$this->setAccessToken($getApplicationAccessToken);
$user_access_token = $this->getUserAccessToken();
if ($user_access_token) {
//$this->setAccessToken($user_access_token);
$this->accessToken = $user_access_token; //edit; msolution
}
return $this->accessToken;
}
Run Code Online (Sandbox Code Playgroud)
找到这条线:
parse_str($access_token_response, $response_params);
Run Code Online (Sandbox Code Playgroud)
替换为:
//parse_str($access_token_response, $response_params); //edit:: msolution;;
$response_params = json_decode($access_token_response, true );
Run Code Online (Sandbox Code Playgroud)
评论原文并添加json_decode
而已!
| 归档时间: |
|
| 查看次数: |
15250 次 |
| 最近记录: |