2017-01-11 10 views
0

Cookie認証を使用してログインした後、残りのAPIから特定のデータを取得したいが、フィールド 'fieldname'が存在しないか、このフィールドを匿名ユーザーが見ることはできません。REST APIから特定のデータを取得

以下は、私がajaxと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

に問題がありますか? –

+0

$ result printing Arrayと$ response printing "errorMessages":[フィールド 'issuetype'が存在しないか、このフィールドは匿名ユーザーが見ることはできません。]]、 "errors":{}} @BorisK –

答えて

0

$応答印刷 "errorMessages":[ "フィールド 'issuetypeは' 存在しないか、このフィールドは、匿名ユーザーが見ることができません。"]

まあ、それはAPIがあなたにissuetypeの値を与えることを望んでいないことを意味します。

はタイプミスか何かかもしれないが、それはあなたのカールの呼び出しでエラーではありません、それはあなたが$応答内で何しますprint_r($結果)を返しますが何であるかを投稿できるAPIプロバイダ

+0

期待通りに結果を返した別のスクリプトでユーザー名と電子メールアドレスを取得するために呼び出すので、なぜ今拒否されましたか?私はそれが私のクッキー認証と関係があると思う、おそらく私は正しく私を認証するためにサーバーにジラセッションIDを渡していない、私は知らない –

関連する問題