2016-06-14 50 views
0

我能够获得所有类别和所有项目没有问题。当我尝试获取位置列表或调整广告资源时,我收到一条错误消息。Square Connect API列表位置和库存调整返回404找不到

我的代码获取位置: WebRequest请求= WebRequest.Create(“https://connect.squareup.com/v1/me/locations”); request.ContentType =“application/json”; request.Method =“GET”; request.Headers [“授权”] =“承载xxxxxxxxxxxxxxxxxxxxxx”;

 HttpWebResponse response = null; 
     string responseMessage = null; 
     response = (HttpWebResponse)request.GetResponse(); 

     if (response.StatusCode == HttpStatusCode.OK) 
     { 
      using (Stream stream = response.GetResponseStream()) 
      { 
       using (StreamReader reader = new StreamReader(stream)) 
       { 
        responseMessage = reader.ReadToEnd(); 
       } 
      } 
     } 

我的代码来调节清单是: 乌里URI =新的System.Uri(的String.Format( “https://connect.squareup.com/v1/me/inventory/ {0}”,variationId)); WebRequest请求= WebRequest.Create(uri); request.ContentType =“application/json”; request.Method =“PUT”; request.Headers [“授权”] =“承载xxxxxxxxxxxxxxxxxxxxxx”;

 string postData = "{\"quantity_delta\":" + adjustAmount.ToString() + ",\"adjustment_type\":\"MANUAL_ADJUST\"}"; 
     byte[] byteArray = Encoding.UTF8.GetBytes (postData); 
     request.ContentLength = byteArray.Length; 
     Stream dataStream = request.GetRequestStream(); 
     dataStream.Write (byteArray, 0, byteArray.Length); 
     dataStream.Close(); 

     HttpWebResponse response = null; 
     string responseMessage = null; 
     response = (HttpWebResponse)request.GetResponse(); 

     if (response.StatusCode == HttpStatusCode.OK) 
     { 
      using (Stream stream = response.GetResponseStream()) 
      { 
       using (StreamReader reader = new StreamReader(stream)) 
       { 
        responseMessage = reader.ReadToEnd(); 
       } 
      } 
     } 

对于这两种在响应线=(HttpWebResponse)request.GetResponse()的; 我得到远程服务器返回错误:(404)未找到

任何帮助是非常感谢,因为我不明白为什么我的代码的一部分工作,但这两件不是。

回答

0

需要在2016年2月16日后创建应用程序以使用v1位置端点,如Business Management Overview section所示:“本节中描述的端点不能由2016年2月16日之前创建的应用程序使用。请参阅Connect API changes (2016-02-16)以获取更多信息。“您可以验证应用是在02/16/2016之后创建的吗?如果没有,请问您可以创建一个新的应用程序并尝试一下吗?

对于库存调整404,您能否提供一个项目变更ID以供进一步调查?

+0

感谢您的帮助。它解决了第一个问题,因为我的应用程序太旧了。我创建了一个新的和位置调用工作正常。我仍然存在与库存调整相同的问题。我正在测试的变体ID是06659ab1-9323-4666-73a0-d7bd8c9d3320。新的uri是: Uri uri = new System.Uri(string.Format(“https://connect.squareup.com/v1/{0}/inventory/{1}”,_location_Id,variationId)); – user3586517

+0

您可以使用* POST *再次尝试库存调整请求,而不是* PUT *? –

+0

非常感谢。这符合预期。 – user3586517