【发布时间】:2012-03-11 15:51:29
【问题描述】:
我正在尝试创建一个网页,允许我的用户登录并查看他们的数据。数据托管在 Parse.com 上,将其公开为 REST API。
我正在使用 asp.net / C# 来访问它,并且可以通过使用他们的 API 密钥和应用程序密钥来获取它。但是,我需要从他们的 C# 文档中编写此 PHP 代码的一个版本...
为此,向 /1/login 端点发送一个 GET 请求,并将用户名和密码作为 URL 编码参数:
curl -X GET \
-H "X-Parse-Application-Id: ${APPLICATION_ID}" \
-H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
-G \
--data-urlencode 'username=cooldude6' \
--data-urlencode 'password=p_n7!-e8' \
https://api.parse.com/1/login
现在我被困在这里......我尝试过的任何东西都会返回 HTTP 400,例如这段代码......
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string ParseAuthenticate(string strUserName, string strPassword )
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.parse.com/1/login");
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
httpWebRequest.Headers.Add("username:" + strUserName);
httpWebRequest.Headers.Add("password:" + strPassword);
//pass basic authentication credentials
httpWebRequest.Credentials = new NetworkCredential("My Parse Application Id", "Parse API Rest Key");
httpWebRequest.Method = "GET";
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
return responseText;
}
}
这是我获取所有数据的 C# 代码...但我只想要尝试登录的用户的数据...
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string GetParseData()
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.parse.com/1/classes/Visit");
//pass basic authentication credentials
httpWebRequest.Credentials = new NetworkCredential("My Parse Application Id", "My Parse REST API Key");
httpWebRequest.Method = "GET";
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
return responseText;
}
}
任何帮助/指针将不胜感激。谢谢!
【问题讨论】:
标签: c# asp.net .net httpwebrequest