修改
这个问题是为了解决方法。使用HttpWebRequests成功登录。不是如何使用api。
问题
我注意到在API中没有办法获取用户名密码。
这就是我现在所做的测试。我以为我可以得到错误的用户/传递"首先回应并从那里开始。我得到的只是页面源代码。
任何人都有任何指示或建议吗?
我明确登录。在帐户管理和登录历史记录中,它显示我已登录。但服务器没有为登录提供任何有用的响应文本。现在,我锁定了自己使用错误的密码来整理流读取器lol。
public string DoVerification(string email, string password)
{
var request = (HttpWebRequest)WebRequest.Create("https://app.smartsheet.com/b/home");
var postData = "loginEmail=" + email;
postData += "&loginPassword=" + password;
postData += "&action=login";
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
return new StreamReader(response.GetResponseStream()).ReadToEnd();
}
private void btnLogin_Click(object sender, EventArgs e)
{
string response = DoVerification("test@test.com", "12345");
MessageBox.Show(response.ToString());
}
答案 0 :(得分:1)
目前还不清楚你想要实现的目标或者你希望它能发挥作用的原因。
无法通过API检索密码。那将是一个坏主意。
您实际上并未使用该API。 API端点以https://api.smartsheet.com/2.0
开头,并在此处记录:http://smartsheet-platform.github.io/api-docs/
答案 1 :(得分:0)
比较返回的回复中的两个来源。
我有这两个js函数。
尝试失败
function loggedFailures() {
logExternalGTMEvent({'event': 'app-login-failure','method': 'onsite','error': 'AUTH_NO_MATCHING_USER'}); return true
}
成功尝试
function loggedFailures() {
return false
}
我只是检查一个或另一个。
为了记录,将用户密码放在api中并不是一个坏主意.... Smartsheets允许我们通过API删除任何用户,所以我看不出它会有什么关系。