使用RestSharp设置回调URL并检索数据

时间:2014-08-27 11:47:16

标签: c# callback restsharp

我正在调用Restful API,它希望我在执行POST时传递参数回调(URL)。 我用来拨打电话的工具是RESTSharp。我写了下面的代码

var client = new RestClient("https://services.mywebsite.com/api/v3/");
client.Authenticator = new HttpBasicAuthenticator("Usernamae", "P2$$w0rd");

var request = new RestRequest("myAction", Method.POST);
request.AddHeader("Accept", "application/json");

request.AddParameter("Id", "sid");
request.AddParameter("callback", "http://localhost"); // ????????
request.RequestFormat = DataFormat.Json;
request.AddFile("file", @"e:\MyDocuemnt.pdf");

client.ExecuteAsync(request, response => {
Console.WriteLine(response.Content);

带参数回调的行要求我传递一个url 我应该在这里传递什么? 结果会传回给Url提供的回调,我该怎么看?

我的应用程序是一个控制台应用程序,我想在此处捕获结果。

1 个答案:

答案 0 :(得分:0)

您的API希望在处理结果后转储结果。

根据我的理解,这就是正在发生的事情。

  1. 您调用API并希望您提供回调网址
  2. API会给您回复。
  3. 现在的问题是我的结果在哪里,如果它被发送到回调网址,我该怎么做呢。

    这是你需要做的。

    您可以使用POST方法创建一个Web API,为您提供帮助。 确保您托管的WebApi应该可以通过您正在呼叫的服务访问,并期望向您发送结果。

                public void Post([FromBody]JToken value)
                {
                    var path = HttpContext.Current.ApplicationInstance.Server.MapPath("~/App_Data");
    
                    File.WriteAllText(path + @"/WriteJSON" + DateTime.Now.Ticks.ToString() + ".txt", value.ToString());
    
                    // write any code that you want to here
    
                }
    

    这应该可以帮到你。我在这里做的就是写回复你可能想做任何你想做的事。