Woocommerce REST API を使用して Android アプリを開発しています。GET メソッドを使用して、この REST API を介してデータにアクセスできます。
今、この REST API を使用して新しい顧客を作成する際に問題に直面しています。
ここでPOSTメソッドが機能していません。
私のEND_POINTは"http:example.com/wp-json/wc/v1/customers"
問題は、認証エラーが発生していることです。
ネットワーク呼び出しに OkHttp を使用しています。
これが私のコードです:
protected String doInBackground(Void... params) {
try {
MediaType JSON = MediaType.parse("application/json; charset=utf-8");
String authHeader = Credentials.basic(Config.CONSUMER_KEY, Config.CONSUMER_SECRET);
Log.e(TAG, "doInBackground: auth -> " + authHeader);
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.post(body)
.addHeader("Content-Type", "application/json; charset=utf-8")
.addHeader("Accept", "application/json")
.addHeader("Authorization", authHeader)
.build();
OkHttpOAuthConsumer consumer = new OkHttpOAuthConsumer(Config.CONSUMER_KEY, Config.CONSUMER_SECRET);
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(new SigningInterceptor(consumer))
.build();
Response response = client.newCall(request).execute();
return response.message();
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG, "doInBackground: " + e.getLocalizedMessage());
return Tag.IO_EXCEPTION;
}
}
応答メッセージは次のとおりです。
{"code":"woocommerce_rest_cannot_create","message":"Sorry, you are not allowed to create resources.","data":{"status":401}}
どこに問題があるのかわからない。
誰かがこの問題を経験した場合は、解決策を共有してください。
前もって感謝します。