2

C#、.Net 4、5、RestSharp v4.0.3 を使用

GoCardless で api_key を作成しようとしています

次のような RestClient を作成します。

var client = new RestClient();

client.BaseUrl = SandboxBaseUrl;
client.Authenticator = new HttpBasicAuthenticator(apiKeyId, apiKey);
client.AddDefaultHeader("GoCardless-Version", Properties.Settings.Default.GoCardlessVersion);

client.AddDefaultHeader("Accept", "application/json");
client.AddDefaultHeader("content-type", "application/json");
request.AddHeader("content-type", "application/json");

GoCardless に投稿すると、エラーが発生します

{"error":{"message":"'Content-Type' header must be application/json or application/vnd.api+json ......
4

1 に答える 1

0

多くの無駄な検索の後、私はあきらめて、古い StackOverflow 投稿のソリューションを使用しました。そのような

// Create the Json for the new object
StringBuilder requestJson = new StringBuilder();
var requestObject = new { api_keys = new { name = name, links = new { role = role } } };
(new JavaScriptSerializer()).Serialize(requestObject, requestJson);
...
// Set up the RestSharp request
request.Parameters.Clear();
request.AddParameter("application/json", requestJson, ParameterType.RequestBody);

なぜこれがうまくいくのか、そしておそらくRestSharpがこのようにしていることの意図さえ理解できます.

于 2015-02-27T12:53:59.807 に答える