0

我正在使用 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}}

我不知道问题出在哪里。

如果有人遇到此问题,意味着请分享您的解决方案。

提前致谢。

4

0 回答 0