如何在JAVA / Android中使用Woocommerce REST API的’POST’Http Verb?

前端之家收集整理的这篇文章主要介绍了如何在JAVA / Android中使用Woocommerce REST API的’POST’Http Verb?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在开发我的WooCommerce商店的Android应用程序,我使用GET http动词WooCommerce REST Api获取产品,类别,订单,客户等商店数据.它工作正常,我能够为api V2生成oAuth 1.0签名V3正常.现在,我想执行Write动作.我从相同的文档中学到了我需要使用POST Http动词.我尝试了同样的卡住.

当我使用URL,oAuth数据和生成的签名使用HttpGet或HttpPost请求执行任何POST操作时,我得到:

{"errors":[{"code":"woocommerce_api_authentication_error","message":"Invalid Signature - provided signature does not match"}]}

我遵循文档中给出的所有说明并在Google上找到,使用“POST”字符串生成oAuth签名,尝试使用HttpGet和HttpPost发送params但失败了.

任何人都可以请给我一些说明或示例,使用Android的POST Http动词来使用WooCommerce REST API执行写操作. (比如创建新订单,创建新类别等)

最佳答案
我遇到了同样的错误,我必须做的是创建一个不同的POST适配器类.我正在使用网络调用的改造,这是我的代码段:

package me.gilo.a55thavenue.data;

import android.util.Base64;
import android.util.Log;

import com.squareup.okhttp.HttpUrl;
import com.squareup.okhttp.Interceptor;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;

import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.message.BasicNameValuePair;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

import retrofit.GsonConverterFactory;
import retrofit.Retrofit;
import retrofit.RxJavaCallAdapterFactory;

/**
 * Created by Aron on 10/31/2015.
 */
public class PostRestAdapter {

    static String oauth_nonce = "";
    static String oauth_timestamp = "";
    static String oauth_signature_method = "HMAC-SHA1";

    static ArrayList

[来源:https://gist.github.com/Aroniez/41dbc5942f70641b397e]

猜你在找的Android相关文章