Confluenceページを更新しようとしています。 私はlocalhostののConfluence にこれを使用することができたが、私は本番サーバー上でそれをしようとしたとき、私はこのエラーを得た:C#を使用してConfluenceページを更新する405エラーが発生する
StatusCode: 405, ReasonPhrase: 'Method Not Allowed', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
Vary: Accept-Encoding
Date: Tue, 31 Jan 2017 21:29:44 GMT
Server: Apache/2.2.15
Server: (CentOS)
Content-Length: 342
Allow: GET
Allow: HEAD
Allow: POST
Allow: OPTIONS
Allow: TRACE
Content-Type: text/html; charset=iso-8859-1
}
これは私のコードです。この問題の原因は何でしょうか?
string json = "{\"version\":{\"number\":4},\"title\":\"Bloomberg Test\",\"type\":\"page\",\"body\":{\"storage\":{\"value\":\"Hello World\",\"representation\": \"storage\"}}}";
string userpass = username+":"+password;
string encoded = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(userpass));
string encval = "Basic " + encoded;
var content = new StringContent(json, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("X-Atlassian-Token", "nocheck");
client.DefaultRequestHeaders.Add("Authorization", encval);
client.DefaultRequestHeaders.Add("Accept", "application/json");
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.BaseAddress = new Uri(baseurl);
var resp = client.PutAsync(@"/rest/api/content/"+pageid, content);
問題:Confluenceのドキュメントによると:[link](https://docs.atlassian.com/confluence/REST/latest/) 更新はPUTリクエストを使用して行われ、新しいコンテンツの作成はPOSTを使用して行われます。 –