我正在尝试将facebook身份验证集成到php网站中。
我使用下面的代码:
<?php
require '../facebook-php-sdk-master/src/facebook.php';
$app_id = 'some app id';
$app_secret = 'some secret';
$app_url = 'http://localhost/some app/';
$scope = 'email,publish_actions';
// Init the Facebook SDK
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
));
// Get the current user
$user = $facebook->getUser();
// If the user has not installed the app, redirect them to the Login Dialog
if ($user <> '0' && $user <> '') { /*if valid user id i.e. neither 0 nor blank nor null*/
try {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => $scope,
'redirect_uri' => $app_url,
));
die('<script>top.location.href="'.$facebook->getLoginUrl($params).'";</script>');
}
catch (FacebookApiException $e) { /*sometimes it shows user id even if user in not logged in and it results in Oauth exception. In this case we will set it back to 0.*/
error_log($e);
$user = '0';
}
}
else
{
echo 'user not found';
}
?>
问题是:
虽然我指定并使用正确的应用ID,但我总是这样 此错误消息 - 参数app_id是必需的。
我认为我面临着类似的问题 - till getting “The parameter app_id is required” error on Facebook API login,但这个问题没有被接受的答案。
请告知我是否遗漏了任何内容。
答案 0 :(得分:0)
您在appId
中设置的参数应为new Facebook(...);
。
您也可以尝试通过立即调用以下内容来覆盖它,看看它是否解决了问题:
$facebook->setAppId('some app id');