gpt4 book ai didi

java - Woocommerce API 获取所有产品

转载 作者:行者123 更新时间:2023-11-29 08:30:19 25 4
gpt4 key购买 nike

我尝试使用一些参数从 API 获取产品。我用过WooCommerce API Java Wrapper 。带有 OAuth 1.0 的 REST API。简单的 getAll 方法返回一页列表(10 个产品)。为了获得所有内容,我必须设置一页中必须有多少产品并使用偏移量。要获取第三页必须发送此参数:“per_page=10&offset=20”。我在 get&post 程序中使用查询进行测试 - 所有工作。在Java中,当我添加参数时 - 我收到错误(401) - “无效签名 - 提供的签名不匹配”。我更改了 WooCommerceAPI 类:

private static final String API_URL_FORMAT = "%s/wp-json/wc/v2/%s";
private static final String API_URL_ONE_ENTITY_FORMAT = "%s/wp-json/wc/v2/%s/%d";
private HttpClient client;
private OAuthConfig config;
public List getAll(String endpointBase) {
String url = String.format(API_URL_FORMAT, config.getUrl(), endpointBase) + "?per_page=10&offset=20";
String signature = OAuthSignature.getAsQueryString(config, url, HttpMethod.GET);
String securedUrl = String.format("%s&%s", url, signature);
System.out.println("url="+url);
System.out.println("securedUrl="+securedUrl);
return client.getAll(securedUrl);
}

但是我也遇到了同样的错误。

最佳答案

我刚刚发布了 wc-api-java 库的新版本(版本 1.2),现在您可以使用带有 params 参数的 getAll 方法,您可以在其中放置其他请求参数。例如:

// Get all with request parameters
Map<String, String> params = new HashMap<>();
params.put("per_page","100");
params.put("offset","0");
List products = wooCommerce.getAll(EndpointBaseType.PRODUCTS.getValue(), params);

System.out.println(products.size());

关于java - Woocommerce API 获取所有产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48866680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com