在c#中发送原始XML到Tableau Rest API的正确方法
本文关键字:API Rest 方法 Tableau XML 原始 | 更新日期: 2023-09-27 18:14:50
我只是想发送一个rest请求到Tableau的rest API,但由于某种原因。net没有发送原始XML(尽管经过测试,它在chrome中使用Postman)
var admin = "'hardcoded_admin_user"'"";
var pass = "'hardcoded_pass"'"";
var tableau_signin = String.Format("<tsRequest> <credentials name={0} password={1}> </credentials> <site contentUrl='"'"/> </tsRequest>", admin, pass);
//if user is validated make a REST call to Tableau Server
string endPoint = @"http://server/api/2.0/auth/signin";
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml"));
var post = client.PostAsync(endPoint,
new StringContent(tableau_signin)).Result;
}
在StringContent中提供编码和内容类型。
var post = client.PostAsync(endPoint,
new StringContent(tableau_signin, Encoding.UTF8, "application/xml")).Result;
var user = FormatTextBodyForUserSignIn(userName, password);
var httpContent = new StringContent(user, Encoding.UTF8, "application/xml");
var response = client.PostAsync($"api/{TableauAPIVersion}/auth/signin", httpContent).Result;