0

我的 Web 应用程序需要能够从 Paymo http://api.paymo.biz/获取我的所有项目

我熟悉 JSON 和 XML,但我想知道的是,如何与 api 交互(调用它)。

理想情况下,我想在 ASP .Net 中创建一个类,例如 PaymoManager(int apikey....)

从那里我可以包装我需要的功能。我只需要了解,如何调用 API 的函数以及如何获得响应。我不熟悉网络API。


编辑:你能给我一个例子,即使有一些抽象的网址。我需要在 CS 文件中完成服务器端。

基本上是一个简单的例子,它调用 someurl.com/somerequest 然后你如何接收 JSON 或 XML ......这在类方面是如何工作的。我想在课堂上这样做。

4

2 回答 2

2

http://api.paymo.biz/docs/misc.overview.html

要使用 Paymo API 执行操作,您需要向 Paymo 网络服务发送一个请求,指定一个方法和一些参数,并且会收到一个格式化的响应。

这意味着您可以使用WebClient从 url 下载字符串:

WebClient client = new WebClient();
string reply = client.DownloadString (address);

根据您指定的格式,您可以将回复解析为XMLJSON

XDocument xml = XDocument.Parse(reply);

// where ReplyType is a class that defines public 
// properties matching the format of the json string
JavaScriptSerializer serializer = new JavaScriptSerializer();
ReplyType abc = serializer.Deserialize<ReplyType>(reply);
于 2013-01-29T19:21:52.493 回答
2

如果您使用的是 .NET 4.5,您可能会考虑像这样使用HttpClient :

static async void Main()
    {
    try 
    {
      // Create a New HttpClient object.
      HttpClient client = new HttpClient();

      // fill in the details in the following string with your own KEY & TOKEN:
      string requestUrl = "https://api.paymo.biz/service/paymo.auth.logout?api_key=API_KEY&format=JSON&auth_token=AUTH_TOKEN"
      HttpResponseMessage response = await client.GetAsync(requestUrl );
      response.EnsureSuccessStatusCode();
      string responseBodyJSON = await response.Content.ReadAsStringAsync();
      // Above three lines can be replaced with new helper method in following line 
      // string body = await client.GetStringAsync(uri);

      Console.WriteLine(responseBodyJSON );
      // Now you can start parsing your JSON....

    }  
    catch(HttpRequestException e)
    {
      Console.WriteLine("\nException Caught!"); 
      Console.WriteLine("Message :{0} ",e.Message);
    }
  }
于 2013-01-29T19:26:15.677 回答