用户并通过API

时间:2017-03-19 19:45:51

标签: c# smartsheet-api

修改
这个问题是为了解决方法。使用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());
    }

2 个答案:

答案 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删除任何用户,所以我看不出它会有什么关系。