api curl 로 표현

api curl 로 표현

QA

api curl 로 표현

본문

회원(users_permissions_user) 에게   10포인트를 넣어주는 api입니다.

 

포스트맨으로 정상 동작하여, php curl로 표현하려고 하는데

api 제공측 에러메세지가

Array ( [statusCode] => 400 [error] => Bad Request [message] => When using multipart/form-data you need to provide your data in a JSON 'data' field

표기됩니다.

 

포스트맨에 설정을 curl로 잘못 표현했는지 확인 부탁드립니다..

3717287807_1619428446.3713.png3717287807_1619428451.2426.png

 



        $url = "주소~~/histories";
        $p_data = array(
        "users_permissions_user" => $app_id,
        "points" => "10", 
        "reason" => "포인트전환"
        );
        $headers = array();
     $headers[] = "Authorization: Bearer ".$s_token;
     $headers[] = "'Content-type:multipart/form-data'";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1); //전달 데이터를 POST 형식으로 전달
        curl_setopt($ch, CURLOPT_POSTFIELDS, $p_data ); //전달할 데이터값
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); //TRUE 설정 시 curl_exec () 반환 값을 문자열로 반환
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false );
        curl_setopt($ch, CURLOPT_COOKIE, '' );
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        $g = curl_exec($ch); //curl 실행
        curl_close($ch); //curl 세션 닫기
        $info = json_decode($g, true);
print_r($info);

이 질문에 댓글 쓰기 :

답변 3

post data를 json으로 넘겨보세요

$headers[] = "'Accept: application/json'";

$headers[] = "'Content-type: application/json;'";

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($p_data) ); //전달할 데이터값

 

쿠키에 아무 문자열이나 넣어보세요

curl_setopt($ch, CURLOPT_COOKIE, 'secure' );

 

 $headers[] = "'Content-type:multipart/form-data'";

첨부 파일을 보내는 것이 아니라면

 이 부분을 빼면 되지 않을까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 97
QA 내용 검색
filter #curl ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT