链接facebook用户时缺少解析REST Api的用户密码

链接facebook用户时缺少解析REST Api的用户密码,facebook,rest,symfony,curl,parse-platform,Facebook,Rest,Symfony,Curl,Parse Platform,我正在尝试使用parse.com REST Api在Symfony2项目下实现Facebook登录 下面是我用来进行CURL调用的代码: $headers = array( "Content-Type: application/json", "Content-Length: " . strlen($facebookJson), "X-Parse-Application-Id: " . $applicationId, "X-Parse-REST-API-Key: " . $parseRestAPI

我正在尝试使用parse.com REST Api在Symfony2项目下实现Facebook登录

下面是我用来进行CURL调用的代码:

$headers = array(
"Content-Type: application/json",
"Content-Length: " . strlen($facebookJson),
"X-Parse-Application-Id: " . $applicationId,
"X-Parse-REST-API-Key: " . $parseRestAPIKey
);

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $facebookJson); 

$data = curl_exec($handle);
curl_close($handle);
$facebookJson
变量表示Facebook authData:

{
  "facebook": {
    "id": "user's Facebook id number as a string",
    "access_token": "an authorized Facebook access token for the user",
    "expiration_date": "token expiration date of the format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
  }
}
在本例中,该用户不是parse中的注册用户,因此它应该创建一个新用户(如中所述),但不是创建一个新用户,而是给出以下错误消息:

{“代码”:201,“错误”:“缺少用户密码”}

由于我使用Facebook注册用户,我认为它不应该要求输入密码,更不用说这一点了

有什么建议可以解决这个问题吗

我是否应该尝试另一种方法来使用parse实现Facebook登录?(例如,使用parse javascript sdk可能更容易)。

您错过了authData字段。以下是parse文档中的JSON示例:

{
    "authData": {
        "twitter": {
            "id": "12345678",
            "screen_name": "ParseIt",
            "consumer_key": "SaMpLeId3X7eLjjLgWEw",
            "consumer_secret": "SaMpLew55QbMR0vTdtOACfPXa5UdO2THX1JrxZ9s3c",
            "auth_token": "12345678-SaMpLeTuo3m2avZxh5cjJmIrAfx4ZYyamdofM7IjU",
            "auth_token_secret": "SaMpLeEb13SpRzQ4DAIzutEkCE2LBIm2ZQDsP3WUU"
        }
    }
}