2016-06-14 18 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