如何使用 C# 从 MS Project Rest api 读取纯文本?
How can I read plain text from MS Project Rest api using C#?
我想使用 Rest API.
查询 Project 2013 中的项目数
我能够在 Atom10FeedFormatter class 的帮助下读取它发回的 Atom XML 文件,但我不知道
如果响应是纯文本格式,如何处理。
这个请求:
http://{my_pwa_site}/_api/ProjectData/Projects/$count
在 html 正文中返回响应“15”,显示我在 Project 2013 中的项目数。
此外,访问此站点需要网络凭据。我通常使用以下代码来完成:
Atom10FeedFormatter formatter = new Atom10FeedFormatter();
XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
XmlUrlResolver res = new XmlUrlResolver();
res.Credentials = new NetworkCredential("myusername", "mypassword");
XmlReaderSettings set = new XmlReaderSettings();
set.XmlResolver = res;
using (XmlReader reader = XmlReader.Create("http://{mypwasite}/_api/ProjectData/Projects", set))
{
formatter.ReadFrom(reader);
}
但我不能为此目的使用 XML reader。
我应该用什么来阅读这个纯文本内容?
不需要特殊的库,这与 OData 提要无关。要处理这种数据,使用 httpclient 就足够了,而不是像常规 rest api 案例那样使用 xml reader。以下是如何执行此操作的示例:
var credentials = new NetworkCredential("myusername", "mypass");
var handler = new HttpClientHandler { Credentials = credentials };
string result="";
string path = "http://{mypwasite}/_api/ProjectData/Projects";
using (var _client = new HttpClient(handler))
{
HttpResponseMessage response = await _client.GetAsync(path);
if (response.IsSuccessStatusCode)
{
result = await response.Content.ReadAsStringAsync(); ;
}
}
我想使用 Rest API.
查询 Project 2013 中的项目数我能够在 Atom10FeedFormatter class 的帮助下读取它发回的 Atom XML 文件,但我不知道 如果响应是纯文本格式,如何处理。
这个请求:
http://{my_pwa_site}/_api/ProjectData/Projects/$count
在 html 正文中返回响应“15”,显示我在 Project 2013 中的项目数。
此外,访问此站点需要网络凭据。我通常使用以下代码来完成:
Atom10FeedFormatter formatter = new Atom10FeedFormatter();
XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
XmlUrlResolver res = new XmlUrlResolver();
res.Credentials = new NetworkCredential("myusername", "mypassword");
XmlReaderSettings set = new XmlReaderSettings();
set.XmlResolver = res;
using (XmlReader reader = XmlReader.Create("http://{mypwasite}/_api/ProjectData/Projects", set))
{
formatter.ReadFrom(reader);
}
但我不能为此目的使用 XML reader。
我应该用什么来阅读这个纯文本内容?
不需要特殊的库,这与 OData 提要无关。要处理这种数据,使用 httpclient 就足够了,而不是像常规 rest api 案例那样使用 xml reader。以下是如何执行此操作的示例:
var credentials = new NetworkCredential("myusername", "mypass");
var handler = new HttpClientHandler { Credentials = credentials };
string result="";
string path = "http://{mypwasite}/_api/ProjectData/Projects";
using (var _client = new HttpClient(handler))
{
HttpResponseMessage response = await _client.GetAsync(path);
if (response.IsSuccessStatusCode)
{
result = await response.Content.ReadAsStringAsync(); ;
}
}