如何访问 API 响应的内容?
How do I access the content of an API response?
我试过使用 "ping." 方法调用 Mandrill 的 API 来实现 this 的最简单情况。响应应该是 pong。使用有效密钥,响应似乎有效。但是,我无法访问响应的内容。
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
using System.Net.Http.Headers;
namespace MandrillAPI
{
class Program
{
static void Main(string[] args)
{
string ping = "https://mandrillapp.com/api/1.0/users/ping.json";
string key = "?key=123";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(ping);
HttpResponseMessage response = client.GetAsync(key).Result;
Console.WriteLine(response.ToString());
Console.Read();
}
}
}
如何解压通话响应?最终,我需要使用 API 从服务器收集电子邮件,因此我需要以某种方式保留 json 对象的结构,以便我可以访问电子邮件的详细信息。
我会使用 JSON.Net 之类的方法将其序列化为您随后可以使用的 C# 对象。
如果您只想读取字符串形式的响应:
string content = response.Content.ReadAsStringAsync().Result
如果你想反序列化为某些 class(在本例中为 MyClass
类型):
MyClass myClass = JsonConvert.DeserializeObject<MyClass>(response.Content.ReadAsStringAsync().Result)
我试过使用 "ping." 方法调用 Mandrill 的 API 来实现 this 的最简单情况。响应应该是 pong。使用有效密钥,响应似乎有效。但是,我无法访问响应的内容。
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
using System.Net.Http.Headers;
namespace MandrillAPI
{
class Program
{
static void Main(string[] args)
{
string ping = "https://mandrillapp.com/api/1.0/users/ping.json";
string key = "?key=123";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(ping);
HttpResponseMessage response = client.GetAsync(key).Result;
Console.WriteLine(response.ToString());
Console.Read();
}
}
}
如何解压通话响应?最终,我需要使用 API 从服务器收集电子邮件,因此我需要以某种方式保留 json 对象的结构,以便我可以访问电子邮件的详细信息。
我会使用 JSON.Net 之类的方法将其序列化为您随后可以使用的 C# 对象。
如果您只想读取字符串形式的响应:
string content = response.Content.ReadAsStringAsync().Result
如果你想反序列化为某些 class(在本例中为 MyClass
类型):
MyClass myClass = JsonConvert.DeserializeObject<MyClass>(response.Content.ReadAsStringAsync().Result)