我想使用V3 SnipCart API在我的“谢谢”页面上获取有关特定订单的数据。我正在使用C#来完成这个任务。在尝试使用API时,我一直收到这个错误。
Unauthorized.‘:“远程服务器返回了一个错误:(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.我正在本地计算机(localhost:)上调试这个程序,在部署这些API调用以测试prod中的这些更改(仍然使用测试api键)之前,这是否是401的一个原因?因为试图获取信息的URL是我的localhost: url,而不是我添加到SnipCart仪表板中的实际域。我在想,也许我得试着从prod环境中找到答案?有什么想法吗?
这是我想到的两种可能性。我对APi还不太了解,所以我不知道我的电话是不是漏掉了什么。
摘要:我所要做的就是能够使用API,以便当用户使用令牌到达我的自定义感谢页面时,可以加载我想要的订单数据。
发布于 2022-01-25 19:11:03
当身份验证失败时,我们的401“未经授权”状态代码将返回给带有授权头值的API。
下面是关于API的相关文档。确保返回您的秘密API键的base64值和尾尾的单个冒号字符,以尊重基本认证方案。
如果您试图获取处于活动模式的订单的数据,则需要使用活动秘密API密钥。
https://stackoverflow.com/questions/70816353
复制相似问题