我的网络应用程序需要能够从Paymo http://api.paymo.biz/
获取所有项目我熟悉JSON和XML,但我想知道的是,如何与api进行交互(调用它)。
我最好在ASP .Net中创建一个类,如PaymoManager(int apikey ....)
从那里我可以包装我需要的功能。我只需要了解,如何调用API的函数以及如何获得响应。我不熟悉web apis。
编辑:你能给我一个这方面的例子,即使有一些抽象的网址。我需要在CS文件中完成这个服务器端。
基本上是一个简单的例子,它调用someurl.com/somerequest,然后你如何收到JSON或XML ......这对于一个类来说是如何工作的。我想在课堂上这样做。
答案 0 :(得分:2)
http://api.paymo.biz/docs/misc.overview.html
要使用Paymo API执行操作,您需要发送请求 指向方法和一些参数的Paymo webservice,以及 将收到格式化的回复。
这意味着您可以使用网址中的WebClient to download a string:
WebClient client = new WebClient();
string reply = client.DownloadString (address);
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);
答案 1 :(得分: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);
}
}