2017-01-11 2 views
0

쿠키 인증을 사용하여 사용자가 로그인 한 후에 나머지 API에서 특정 데이터를 가져오고 싶지만 'fieldname'필드가 존재하지 않거나 익명 사용자가이 필드를 볼 수 없습니다.REST API에서 특정 데이터 가져 오기

아래 코드는 아약스와 PHP에서 데이터를 얻기 위해 작성한 코드입니다. 처음으로 컬 요청을 사용했을 때 스크립트가 엉망 일 거라는 것을 알고 있습니다. 그래서 누군가가 나에게 잘못을 말하거나 나에게 커링으로 서버에 데이터를 보내고받는 방법을 설명해주기를 바랍니다. 특정 데이터 디스플레이가 인정 될 것이다.

$('#user-profile').click(function(){ 
     $.ajax({ 
      type: "POST", 
      url: "jiraticket.php", 
      data: $('#login-form').serialize(), 
      success: function(data){ 
       alert(data); 
      } 
     }); 
    }); 

여기 스크립트입니다

<?php 
session_start(); 


    $url = 'http://base-url/rest/api/2/search?jql=issuetype%20=%20Epic%20AND%20status%20in%20(%22In%20Progress%22,%20Backlog,%20%22On%20hold%22,%20%22To%20Do%22)'; 
    $curl_session = curl_init($url); 
    curl_setopt($curl_session, CURLOPT_HEADER, 0); 
    curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true); 

    if(isset($_COOKIE['JSESSIONID'])) 
    $cookie_string='JSESSIONID='.$_COOKIE['JSESSIONID']; 
    else 
    $cookie_string=""; 



    curl_setopt($curl_session, CURLOPT_HTTPHEADER, array('Content-Type: application/json' ,'Authorization: Cookie'), array('cookie:'.$cookie_string)); 

    $response = curl_exec($curl_session); 

    curl_close($curl_session); 



    if (!$response) { 
     die('Nothing was returned.'); 
    } 


    $result = json_decode($response, true); 

    print_r($result); 
+0

당신이 $ 응답 내부에 무엇 인 print_r ($ 결과) 반환 무엇 게시 할 수있는 문제인가? –

+0

$ 결과 인쇄 배열 및 $ 응답 인쇄 "errorMessages": [ "필드 'issuetype'이 존재하지 않거나이 필드는 익명 사용자가 볼 수 없습니다.]],"errors ": {}} @BorisK –

답변

0

$ 응답 인쇄 "errorMessages": [ "필드 'issuetype은' 존재하지 않거나이 필드는 익명의 사용자가 볼 수 없습니다."]

글쎄, 그것은 API는 당신에게 issuetype의 가치를주고 싶어하지 않는 것을 의미한다.

오타 또는 뭔가 수 있습니다,하지만 당신의 컬 호출에 오류 아니다, 그것은 API 제공

+0

하지만 기대했던대로 결과를 반환 한 다른 스크립트에서 사용자 이름과 이메일 주소를 얻기 위해 전화를 걸었습니다. 그렇다면 지금은 왜 거절 당했습니까? 나는 그것이 내 쿠키 인증과 관련이 있다고 생각한다. 아마 내가 jira 세션 ID를 서버에 전달하지 않아서 나를 정확하게 인증 할 수있을 것이다. 나는 잘 모른다. –