0
DrupalからRedmine APIへの投稿要求を行い、jsonを送信しようとしています。 しかし、私はそれをattempときにエラーが発生します。Drupal 8(Guzzle)からの投稿要求
$rawdata = '{
"issue": {
"project_id": 85,
"subject": "Test from drupal",
"priority_id": 4
}
}';
$data = json_encode($rawdata);
POSTリクエスト:
データが送信される
$request = \Drupal::httpClient()->post($url,array(
'headers' => array(
'Accept' => 'application/json',
'Content-type' => 'application/json',
'X-Redmine-API-Key' => $this->apiKey),
));
$request->setBody($data);
$response = $request->send($request);
をそして、これが表示されますエラーです:私はエラーに研究しているし、それはそう
[:error] [pid 8316] [client XXX.XXX.XXX.XXX] FastCGI: server "/usr/lib/cgi-bin/php5-fcgi_xxxx" stderr: PHP message: Uncaught PHP Exception GuzzleHttp\\Exception\\ClientException: "Client error: 422" at dir/to/project/vendor/guzzlehttp/guzzle/src/Middleware.php line 69, referer: http://url-from-project/create
ヘッダーのcontent-typeに問題があります。しかし、ヘッダオプションなしでリクエストを送信しようとすると、認証に関連する401クライアントエラーが表示されます。
それはこのようになります:
$request = \Drupal::httpClient()->post($url,array(
'Accept' => 'application/json',
'Content-type' => 'application/json',
'X-Redmine-API-Key' => $this->apiKey,
));
そしてそれは、このエラーがスローされます。
[:error] [pid 8159] [client XXX.XXX.XXX.XXX] FastCGI: server "/usr/lib/cgi-bin/php5-fcgi_xxxx" stderr: PHP message: Uncaught PHP Exception GuzzleHttp\\Exception\\ClientException: "Client error: 401" at /dir/to/project/vendor/guzzlehttp/guzzle/src/Middleware.php line 69, referer: http://website.com/create
誰もが任意のヒントを持っていますか?
私はこれで苦労しました。どんな助けもありがとう。