REST API Parse и ошибка PHP Curl: {«code»: 201, «error»: «отсутствует пароль пользователя»}

1

Я получаю ошибку пароля пользователя, даже если я использую urlencode.. Я также прочитал множество решений, но не смог его решить. Я использую форму для получения данных от пользователя, а затем использую завиток для создания пользователя. Помощь plzz

здесь мой код

$ data = array();

    $data['username'] = $_POST['username'];
    $data['mobile'] = $_POST['mobile'];
    $data['password'] =  $_POST['password'];
    $data['email'] = $_POST['email']; 

    $post_str = '';

   foreach($data as $key=>$val) 
        {
            $post_str .= urlencode($key).'='.urlencode($val).'&';
        }
        echo $post_str = substr($post_str, 0, -1);


 $url = 'https://api.parse.com/1/users';  

 $appId = 'apikey';  
 $restKey = 'rest key';  
 $headers = array(  
   "Content-Type: application/json",  
   "X-Parse-Application-Id: " . $appId,  
   "X-Parse-REST-API-Key: " . $restKey  
 );  


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_POST, TRUE);
 curl_setopt($ch, CURLOPT_FRESH_CONNECT, FALSE);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_str) );

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);


$result = curl_exec($ch);

curl_close($ch);
echo $result;
Теги:
curl
parse.com
rest

1 ответ

0
Лучший ответ

Почему бы вам просто не использовать предоставленный Parse PHP SDK https://github.com/parseplatform/parse-php-sdk?

В вашем коде вы не должны пытаться использовать urlencode() данные, просто передайте его как массив в json_encode():

<?php
// ...
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($ch);

curl_close($ch);
echo $result;
  • 0
    Спасибо за вашу помощь . это решает мою проблему
  • 0
    @Neerajkaushik, пожалуйста, пометьте мой ответ как принятый.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню