2017-04-11 3 views
0

カントを使用してオーダーを作成WooCommerceのAPIアンドロイド・カントwoocommerce APIに

にアンドロイドコード(okhttp)を使用して、順序を作成するには、この部分がある場合

RequestBody formBody = new MultipartBody.Builder() 
     .setType(MultipartBody.FORM) 
     .addFormDataPart(oauthConsumerKeyString, oauthConsumerKeyStringValue) 
     .addFormDataPart(oauthNonceKeyString, oauthNonceKeyValue) 
     .addFormDataPart(oauthSignatureMethodKey, oauthSignatureMethodKeyValue) 
     .addFormDataPart(oauthTimestampKeyString, oauthTimeStampKeyStringValue) 
     .addFormDataPart("oauth_signature", signature) 
     .addFormDataPart("orders", postDataString) 
     .build(); 
Request request = new Request.Builder() 
     .url(urlOrders) 
     .post(formBody) 
     .build(); 

お知らせ

addFormDataPart("orders", postDataString). 

の一部です。削除された場合、注文はアドレス、ユーザー情報、価格、製品IDなどの詳細なしで作成されます。したがって、すべてのパラメータは正常に動作しています。

Invalid signature - provided signature does not match. 

変数postDataStringは何が間違っている

{ 
    "payment_method": "bacs", 
    "payment_method_title": "Direct Bank Transfer", 
    "set_paid": true, 
    "billing": { 
     "first_name": "John", 
     "last_name": "Doe", 
     "address_1": "969 Market", 
     "address_2": "", 
     "city": "San Francisco", 
     "state": "CA", 
     "postcode": "94103", 
     "country": "US", 
     "email": "[email protected]", 
     "phone": "(555) 555-5555" 
    }, 
    "shipping": { 
     "first_name": "John", 
     "last_name": "Doe", 
     "address_1": "969 Market", 
     "address_2": "", 
     "city": "San Francisco", 
     "state": "CA", 
     "postcode": "94103", 
     "country": "US" 
    }, 
    "line_items": [ 
     { 
      "product_id": "341", 
      "quantity": "1" 
     }, 
     { 
      "product_id": "339", 
      "quantity": "1" 
     } 
    ], 
    "shipping_lines": { 
     "method_id": "flat_rate", 
     "method_title": "Flat Rate", 
     "total": 10 
    } 
} 

次のようなJSONデータが含まれています。上記のように一部が省略されていない場合

は今、順序が作成されないと、エラーが表示されますこのコードで お時間をいただきありがとうございます。 ご不明な点がございましたら、ご意見ください。

答えて

2

この回答を書いていますか?

注: - このような今のところ、見ている多くの質問はstackoverflowの上にあり、何の答えがprovided.Manyはタンブルウィードを得ていません:)

は、クーポンのリソースを作成できます。

以下の方法は、クーポンを作成するかどうかにかかわらず同じです。クーポンは短いjsonパラメーターを持つため、例としてクーポンを作成します。

掲載するクーポンJSONは

{"code":"asdfas"} 

あるクーポンリソースを作成するための最低限のパラメータは、「コード」parameter.Otherパラメータはoptional.Soがクーポンを作成することが可能最小限のJSONを使用していますです。

urlは、リソースを一覧表示することができます誰があなたの

http://pro.....epo.net/scoop/wp-json/wc/v2/coupons?oauth_consumer_key=ck_2f53925cb6d2c8.....f118d01ed80e&oauth_timestamp=1492154063&oauth_nonce=JqYIfq&oauth_signature_method=HMAC-SHA1&oauth_signature=FC1lJ8Vzw.....B86UGlAoWA=

などの多くもpresumblyそこに他の多くのリソースに目を向けるhere.Can署名の作成を文書化していない正しいsignatures.Soを作成することができますする必要があります。今、JSONのメディアタイプ今

MediaType JSON = MediaType.parse("application/json; charset=utf-8"); 

最終的なコードになっ

その後、出来上がり

okhttp3.RequestBody body = RequestBody.create(JSON, dataCouponJsonObject.toString()); 
okhttp3.Request request = new okhttp3.Request.Builder().url(the url given above) 
       .post(body) 
       .build(); 
response = client.newCall(request).execute(); 

とを(アムはokhttp3使用して)!リソースが作成されました。

注:2日後にこの回答に到着しました。 ご不明な点がございましたら、ご意見ください。

関連する問題