2016-06-14 1 views
0

すべてのカテゴリとすべてのアイテムを問題なく取得できました。場所のリストを取得しようとしたり、在庫を調整しようとすると、エラーメッセージが表示されます。Square Connect APIリストの場所と在庫の調整返品404が見つかりません

場所を取得するコード: WebRequest request = WebRequest.Create( "https://connect.squareup.com/v1/me/locations"); request.ContentType = "application/json"; request.Method = "GET"; request.Headers ["Authorization"] = "Bearer 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 request = WebRequest.Create(uri); request.ContentType = "application/json"; request.Method = "PUT"; request.Headers ["Authorization"] = "Bearer xxxxxxxxxxxxxxxxxxxxxx";ライン応答で=(HttpWebResponseの)request.GetResponse()の両方について

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

。 私はリモートサーバーからエラーが返されました:(404)見つからない

私のコードの一部が動作していますが、これら2つの部分は理解できないので、助けてください。

答えて

0

Business Management Overview sectionに示されているように、v1ロケーションエンドポイントを使用するには、02/16/2016の後にアプリケーションを作成する必要があります。「」このセクションで説明するエンドポイントは、2016年2月16日以前に作成されたアプリケーションでは使用できません。詳細については、Connect API changes (2016-02-16)を参照してください。 "アプリが02/16/2016以降に作成されたかどうかを確認できますか?そうでない場合は、新しいアプリを作成して試してみてください。

在庫調整の場合、詳細な調査のためにアイテムバリエーション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

* PUT *ではなく、在庫調整要求に対して* POST *をもう一度実行してもよろしいですか? –

+0

ありがとうございました。それは期待どおりに機能しました。 – user3586517

関連する問題