我正在使用 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}}
我不知道问题出在哪里。
如果有人遇到此问题,意味着请分享您的解决方案。
提前致谢。