我想使用 V3 SnipCart API 在感谢页面上获取有关特定订单的数据。我正在使用 C# 来执行此操作。尝试使用 API 时不断收到此错误
System.Net.WebException:'远程服务器返回错误:(401)未经授权。'
我试图通过仅使用没有密码的 API 密钥来遵循他们的文档,如此处所示。下面是我编写的代码,它给了我错误。我在控制器中写了这个。一旦断点到达这一行,我就会收到错误 responseObjGet = (HttpWebResponse)requestObjGet.GetResponse();
//Testing API get data begin
string strurltest = String.Format("https://app.snipcart.com/api/orders/c5541254-r8541-8501-0024-juy85vv002154");
WebRequest requestObjGet = WebRequest.Create(strurltest);
requestObjGet.Credentials = new NetworkCredential("HihiukoJOUBVCTYIiijiGiiYTd6tOiUyTYo", "");
requestObjGet.Method = "GET";
HttpWebResponse responseObjGet = null;
responseObjGet = (HttpWebResponse)requestObjGet.GetResponse(); //401 is triggered here
string strresulttest = null;
using (Stream stream = responseObjGet.GetResponseStream())
{
StreamReader sr = new StreamReader(stream);
strresulttest = sr.ReadToEnd();
sr.Close();
}
我也有以下担忧: 1.我在这里输入的 API 密钥是我的公共 api 密钥,因为我仍处于开发和测试阶段。我不确定这个 api 调用是否可以与测试 api 密钥一起使用,或者我是否必须使用真正的秘密生产密钥。有什么想法吗?
2.在我将这些 API 调用部署到生产环境以测试产品中的这些更改之前,我暂时在我的本地机器 (localhost:) 上调试它,仍然使用测试 api 密钥,这可能是 401 的原因吗?由于试图获取信息的 URL 是我的 localhost: url,而不是我添加到 SnipCart Dashboard 的实际域。我在想也许我必须尝试从 prod 环境中解决这个问题?任何想法?
这是我想到的两种可能性。我对 APi 还不太了解,所以我不知道我的电话是否遗漏了什么。
摘要:我要做的就是能够使用 API,以便当用户使用他们的令牌到达我的自定义感谢页面时,我可以加载我想要的订单数据。