'invalid_grant' 使用 RestSharp 调用 API 时出错

'invalid_grant' error on API call with RestSharp

我需要将该 curl 请求转换为 c#。我正在使用 RestSharp。卷曲请求:

 > curl -X POST -i https://gw.api.alphabank.eu/sandbox/auth/token \

    -u "{{client_id}}:{{client_secret}}" \

    -d "grant_type=client_credentials&scope=account-info-setup"

我尝试了以下代码,但最终以 'invalid_grant' 错误作为响应。 知道我做错了什么吗?

我的代码:

        var client = new RestClient(url);
        var request = new RestRequest();

        request.Method = Method.POST;
        client.Authenticator = new HttpBasicAuthenticator(ABclientID, ABclientSecret);
        request.AddParameter("grant_type", "client_credentials");
        request.AddParameter("scope", "account-info-setup");

        request.OnBeforeDeserialization = resp => { resp.ContentType = "application/x-www-form-urlencoded"; };

        IRestResponse response = client.Execute(request);

此示例代码由 Postman 生成,适用于接受 application/x-www-form-urlencoded 的 api,您可以像这样添加参数吗?或者创建并使您的请求在 Postman 上运行并生成为 C#-RestSharp 它通常对我来说只需稍作改动即可。

var client = new RestClient("url");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("userId", "1234");
request.AddParameter("count", "5");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

事实证明“invalid_grant”表示错误的凭据。我给了错误的客户机密。 更正 client_secret.

后请求成功