3

REST API を使用して JIRA に問題を書き込むアプリを構築しようとしています。CURL を使用して PHP に実装しようとしましたが、「指定された HTTP メソッドは、要求されたリソースに対して許可されていません (メソッドが無効です)」というエラーが表示されます。許可された)。" 見て、私が間違っていることを教えてもらえますか?:

 <?php

$handle=curl_init();
$headers = array(
    'Accept: application/json',
    'Content-Type: application/json',
    'Authorization: Basic YWRtaW46eWFoYWxh'
);

$data = <<<JSON
{
    "fields": {
       "project":
       { 
          "key": "SYNC"
       },
       "summary": "No REST for the Wicked.",
       "description": "Creating of an issue using ids for projects and issue types using the REST API",
       "issuetype": {
          "name": "Bug"
       }
   }
}
JSON;



curl_setopt_array(
$handle,
array(
CURLOPT_URL=>'http://localhost:8084/rest/api/2/issue/',
CURL_POST=>true,
//CURLOPT_HTTPGET =>true,

CURLOPT_VERBOSE=>1,
CURLOPT_POSTFIELDS=>$data,
CURLOPT_SSL_VERIFYHOST=> 0,
CURLOPT_SSL_VERIFYPEER=> 0,
CURLOPT_RETURNTRANSFER=>true,
CURL_HEADER=>false,
CURLOPT_HTTPHEADER=> $headers,
//CURLOPT_USERPWD=>"admin:yahala"
//CURLOPT_CUSTOMREQUEST=>"POST"
)

);
$result=curl_exec($handle);
$ch_error = curl_error($handle);

if ($ch_error) {
    echo "cURL Error: $ch_error";
} else {
    echo $result;
}

curl_close($handle);




?>
4

1 に答える 1

1

CURL_POST ではなく、CURLOPT_POST だと思います。CURLOPT_POST が正しく設定されていないため、デフォルトでそのメソッドでは許可されていない GET になる可能性があります。

于 2012-08-30T09:20:06.110 に答える