Максимальный предел per_page API Woocommerce в реагировать нативно - PullRequest
0 голосов
/ 26 января 2020

Я создаю мобильное приложение для электронной коммерции с реагированием на натив и woocommerce, и я столкнулся с этой проблемой .. per_page не работает

Это код

import WooCommerceAPI from 'react-native-woocommerce-api';

const WooCommerce = new WooCommerceAPI({
  url: 'http://example.com/', // Your store URL
  ssl: false,
  consumerKey: 'ck_xxxxxxxxxxx', // Your consumer key
  consumerSecret: 'cs_xxxxxxxxxxx', // Your consumer secret
  wpAPI: true, // Enable the WP REST API integration
  version: 'wc/v3', // WooCommerce WP REST API version
  queryStringAuth: true
});

Тогда

  componentDidMount() {
    WooCommerce.get('products?per_page=50', {})
      .then(res => {
        this.setState({
          data: res,
          isLoading: false
        });

      })
      .catch(error => {
        console.log(error);
        this.setState({
          error,
          isLoading: true
        });
      });
  }

, а затем

    console.log(this.state.data);

и я получил это в консоли

Object {"code": "woocommerce_rest_authentication_error", "data": Object {"status": 401,}, "message": "Неверная подпись - при условии, что подпись не совпадает.",}

Если я напишу WooCommerce.get('products', {}), то получит 10 продуктов в качестве максимального ограничения из API woocommerce, но мне нужно получить все продукты

Ответы [ 2 ]

1 голос
/ 31 января 2020
 WooCommerce.get('products?per_page=100&page=1', {}) // YOu can set a Variable in-place of 1 and index 100 is the limit

Старая версия API

https://Yoursite/wc-api/v3/products?filter[limit] =-1

Надеюсь, это поможет

0 голосов
/ 03 апреля 2020

Открыть response-native-woocommerce-api. js в node_modules \ реагировать-native-woocommerce-api \ lib \

, затем перейти к строке 195 (_getOAuth (). функция авторизации) и измените:

params.qs = this._getOAuth().authorize({
  url: url,
  method: method
});

на

params.qs = this._getOAuth().authorize({
  url: url + '?' + this.join(data, '&'),
  method: method
});
...