gpt4 book ai didi

c# - 如何使用 .Net/Parse.com 发送 API 凭据和用户名/密码? (PHP 到 C#)

转载 作者:行者123 更新时间:2023-11-30 15:04:53 25 4
gpt4 key购买 nike

我正在尝试创建一个网页,允许我的用户登录并查看他们的数据。数据托管在 Parse.com 上,将其作为 REST API 公开。

我正在使用 asp.net/C# 来访问它,并且可以通过使用他们的 API key 和应用程序 key 来获取它。但是,我需要从他们的 C# 文档中编写此 PHP 代码的一个版本...

To do this, send a GET request to the /1/login endpoint with username and password as URL-encoded parameters:

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;
}

}

任何帮助/指点将不胜感激。谢谢!

最佳答案

我发现您的第一个代码示例有两个问题。首先,您需要将凭据作为 header 传递,而不是使用 HTTP 身份验证。

httpWebRequest.Headers.Add("X-Parse-Application-Id", applicationId); 
httpWebRequest.Headers.Add("X-Parse-REST-API-KEY", apiKey);

其次,您需要将参数作为数据而不是 header 传递给调用。为此,您需要创建一个包含 url 编码数据的字符串(“username=the_username&password=a%30password”),然后将其写入请求流。

关于c# - 如何使用 .Net/Parse.com 发送 API 凭据和用户名/密码? (PHP 到 C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9650699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com