适用于移动应用程序的WooCommerce API [英] WooCommerce API for mobile App

查看:130
本文介绍了适用于移动应用程序的WooCommerce API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正计划为WooCommerce商店开发本机移动Android应用.

i am planning to develop a native mobile Android App for WooCommerce shops.

我在这里查看了他们的REST API文档: http://docs.woocommercev2.apiary.io/ 我已经开始测试它了,但是当我打不同的电话时

I had a look at their REST API documentation here: http://docs.woocommercev2.apiary.io/ I already started to test it but when i do different calls

GET /orders假设它返回了商店的所有订单.

GET /orders let's say it returns all the orders of the shop.

有人知道如何使用他们的API开发最终用户应用吗?

Does anyone have any idea how can i develop a enduser app using their API.

例如:

GET /products

PUT /order(为已登录的用户创建订单)

PUT /order (create a order for the logged in User)

GET /order(获取已登录用户的订单)

GET /order (get orders of the logged in User)

任何想法都很感激:)

先谢谢了.

推荐答案

对于http(而不是诸如https之类的ssl协议)请求,必须使用 OAthu 1.0a 身份验证框架. Java中有许多用于 oauth 1.0a 的库, 我使用的是 scribeJava

For http (and not ssl protocol such as https ) request, you must use from OAthu 1.0a authenticate framework. There are many libraries for oauth 1.0a in java, i'm use from scribeJava

因此,请执行以下步骤:

So, do the following steps:

  1. 在依赖范围中的 app/build.gradle 中添加以下内容:

  1. In app/build.gradle in dependency scop add this:

compile 'org.scribe:scribe:1.3.5'

OAuth服务提供者的新类为 WoocommerceApi . 重要的.您必须使用
DefaultApi10a中的public类,用于实现oauth提供程序

New class as WoocommerceApi for provider of OAuth service. important. You must use a
public class in DefaultApi10a for implementing oauth provider

public static class WooCommerceApi extends org.scribe.builder.api.DefaultApi10a {

    @Override
    public org.scribe.model.Verb getRequestTokenVerb()
    {
        return org.scribe.model.Verb.POST;
    }

    @Override
    public String getRequestTokenEndpoint() {
        return "http://www.your-domain.com/wc-auth/authorize";
    }

    @Override
    public String getAccessTokenEndpoint() {
        return "none";
    }

    @Override
    public String getAuthorizationUrl(org.scribe.model.Token requestToken) {
        return "none";
    }
}

  • 必须在ThreadAsyncTask

  • And you Must make request in Thread or AsyncTask

    String restURL = "http://www.your-domain.com/wp-json/wc/v1/products/";
    OAuthService service = new ServiceBuilder()
         .provider(WooCommerceApi.class)
         .apiKey(CONSUMER_KEY) //Your Consumer key
         .apiSecret(CONSUMER_SECRET) //Your Consumer secret
         .scope("API.Public") //fixed
         .signatureType(SignatureType.QueryString)
         .build();
    OAuthRequest request = new OAuthRequest(Verb.GET, restURL);
    // for POST requests 
    // OAuthRequest request = new OAuthRequest(Verb.POST, restURL); 
    // request.addBodyParameter(YOUR_PARAM_KEY, YOUR_VALUE);
    // or 
    // request.addPayload(YOUR_JSON);
    Token accessToken = new Token("", ""); //not required for context.io
    service.signRequest(accessToken, request);
    Response response = request.send();
    Log.d("OAuthTask",response.getBody());
    

  • 这篇关于适用于移动应用程序的WooCommerce API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆