Asp.net square connect api获取令牌错误

Asp.net square connect api获取令牌错误,asp.net,square-connect,Asp.net,Square Connect,我已经从OAuth授权中成功地从square获得了代码。但是我不能用它来交换访问令牌。我得到的答复是: {"message":"Missing required parameter `client_id`","type":"bad_request"} 我的asp.net实现如下所示: object item = new { client_id = [app_id], client_secret = [app_secret], code = [authCode] }; JavaS

我已经从OAuth授权中成功地从square获得了代码。但是我不能用它来交换访问令牌。我得到的答复是:

{"message":"Missing required parameter `client_id`","type":"bad_request"}
我的asp.net实现如下所示:

    object item = new { client_id = [app_id], client_secret = [app_secret], code = [authCode] };
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    var json = serializer.Serialize(item);
    HttpContent content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

    var httpClient = new HttpClient();
    httpClient.BaseAddress = new Uri("https://connect.squareup.com");
    AuthenticationHeaderValue auth = new AuthenticationHeaderValue("Authorization", "Client [app_secret]");
    httpClient.DefaultRequestHeaders.Authorization = auth;
    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    Task<HttpResponseMessage> httpResponse = httpCLient.PostAsync("/oauth2/token", content);
    if (httpResponse.Result.StatusCode != HttpStatusCode.OK)
    {
    }
    string resultContent = httpResponse.Result.Content.ReadAsStringAsync().Result;

我在这一点上卡住了。虽然我发送了这个参数,但我不明白为什么它会说client_id参数丢失。

解决方案解决了这个问题:

我在php中面临同样的问题。不确定解决方案的哪一部分,url编码?我在php中尝试了这一点,但问题仍然存在:curl_setopt$ch、CURLOPT_POSTFIELDS、urlencodejson_encode$array;