解析PHP SDK - 解决了ParseUser :: loginWithFacebook的问题

时间:2015-06-06 21:45:00

标签: php facebook parse-platform sdk

关于Parse PHP SDK和Facebook登录,我在ParseUser :: loginWithFacebook方法中修复了一个错误。

首先,命名空间存在问题,因此由于DateTime上的命名空间而导致错误。 因此,您可以定义自己的到期日期(解决该问题的简单解决方法):

$expiration_date = new DateTime();
$expiration_date->setTimestamp(time() + 86400 * 60);
ParseUser::loginWithFacebook($id, $token, $expiration_date));

然后,在ParseUser.php中,您还需要以这种方式修改loginWithFacebook(添加authData密钥):

$data = ["authData" => [ "facebook" => [
                "id" => $id, "access_token" => $access_token,
                "expiration_date" => ParseClient::getProperDateFormat($expiration_date)
            ]]];

并在$ data参数上添加json_encode调用:

$result = ParseClient::_request("POST", "/1/users", "", json_encode($data));

希望这有帮助。

2 个答案:

答案 0 :(得分:0)

出现Fosco将其修复在最新版本的PHP-SDK中。只需从https://github.com/ParsePlatform/parse-php-sdk获取最新版本。

答案 1 :(得分:0)

如果有人需要一个如何做的例子,那么它是:

$userLogin = ParseUser::logInWithFacebook($userId, $session);
$userLogin->set("email", $userEmail);
$userLogin->set("name", $userName);
$userLogin->save();

希望这有帮助。