API PHP для Bigcommerce – данные не возвращаются

Я использую библиотеку PHP одного файла. У меня есть подключение к магазину, но я не получаю никаких данных. Вот мой сценарий:

<?php error_reporting(E_ALL); ini_set('display_errors', True); require 'bigcommerce.php'; use Bigcommerce\Api\Client as Bigcommerce; $settings = array('store_url' => 'https://STORE_URL_REDACTED.mybigcommerce.com','username' => 'USERNAME_REDACTED', 'api_key' => 'API_KEY_REDACTED'); if( (array_key_exists('store_url', (array)$settings)) && (array_key_exists('username', $settings)) && (array_key_exists('api_key', $settings)) ) { // Config Basic Bigcommerce::configure( array( 'store_url' => $settings['store_url'], 'username' => $settings['username'], 'api_key' => $settings['api_key'] ) ); Bigcommerce::setCipher('RC4-SHA'); Bigcommerce::verifyPeer(false); } $products = Bigcommerce::getProducts(); $orders = Bigcommerce::getOrders(); foreach($products as $product) { echo $product->name; echo $product->price; } ?> 

У меня есть выходная запись в командах curl в bigcommerce.php, и я вижу, что я действительно подключаюсь к хранилищу:

  • О подключении () к STORE_ID_REDACTED.mybigcommerce.com порт 443 (# 0) * Попытка REDACTED … * подключена * Подключена к порту STORE_ID_REDACTED.mybigcommerce.com (REDACTED) 443 (# 0) * успешно установить местоположения проверки сертификатов: * CAfile: cacert.pem CApath: / etc / ssl / certs * SSL-соединение с использованием RC4-SHA * Сертификат сервера: * Subject: C = US; PostalCode = 49519; ST = Мичиган; L = Вайоминг; улица = 3343 Perry Ave SW; O = ОТРЕДАКТИРОВАНО; OU = InstantSSL; CN = REDACTED * дата начала: 2011-08-22 00:00:00 GMT * дата истечения: 2016-08-21 23:59:59 GMT * эмитент: C = GB; ST = Большой Манчестер; L = Солфорд; O = COMODO CA Limited; CN = COMODO Высокосерверный безопасный сервер CA * Сертификат SSL проверяется в порядке. * Сервер auth с использованием Basic с пользователем USERNAME_REDACTED '> GET / api / v2 / products HTTP / 1.1 Авторизация: Basic REDACTED Host: store-STORE_ID_REDACTED.mybigcommerce.com Accept: application / json <HTTP / 1.1 200 OK <Date: Tue, 03 Dec 2013 16:32:57 GMT <Сервер: Apache <Last-Modified: Tue, 03 Dec 2013 06:25:44 +0000 <X-BC-ApiLimit-Осталось: 17167 <X-BC-Store-Version: 7.6 .0 <X-Powered-By: PleskLin <Transfer-Encoding: chunked <Content-Type: application / json <* Connection # 0 для размещения STORE_ID_REDACTED.mybigcommerce.com оставлено без изменений * Повторное использование существующего соединения! (# 0) с хостом STORE_ID_REDACTED.mybigcommerce.com * Подключен к STORE_ID_REDACTED.mybigcommerce.com (REDACTED) порт 443 (# 0) * Сервера auth с использованием Basic с пользователем USERNAME_REDACTED '> GET / api / v2 / orders HTTP / 1.1 Авторизация : Basic REDACTED Host: REDACTED Accept: application / json <HTTP / 1.1 200 OK <Дата: Вт, 03 дек. 2013 16:32:58 GMT <Сервер: Apache <Последнее изменение: Чт, 18 ноя 2010 17:40:55 +0000 <X-BC-ApiLimit-Осталось: 17162 <X-BC-Store-Version: 7.6.0 <X-Powered-By: PleskLin <Transfer-Encoding: chunked <Content-Type: application / json <* Connection # 0 для размещения STORE_ID_REDACTED.mybigcommerce.com оставлено без изменений * Закрытие соединения # 0

Я получаю следующую ошибку:

 Warning: Invalid argument supplied for foreach() in /home/zetaphor/public_html/bigcommerce-api-php-master/coupons.php 

Мои возвращенные массивы не содержат данных.

Я использую стек LAMP, используя PHP 5.3.3, cURL enabled

Related of "API PHP для Bigcommerce – данные не возвращаются"

Я столкнулся с этой проблемой в php-классе, поэтому я сделал это с помощью CURL, вы можете получить свои магазины, заказы и купон.

вот код.

  $username = 'your username'; $password = 'your key'; $url = ' your store url'; $product_url = $url.'/api/v2/products.json'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $product_url); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERPWD, $username . ":" . $password); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_ENCODING, ""); $curlData = curl_exec($curl); curl_close($curl); //returning retrieved feed $product_rec = json_decode($curlData); echo '<pre>'; print_r($product_rec); 

теперь для использования заказов

  $order_url = $url.'/api/v2/orders.json'; 

Как правило, еще одна строка ниже строки setCipher для «проверки сверстника». Попробуйте добавить это так, чтобы он выглядел так:

 Bigcommerce::setCipher('RC4-SHA'); Bigcommerce::verifyPeer(false); 

Изменить: чтобы быть ясным, я думаю, что это ключевая вещь для сервера, чтобы проверить, что ваш сертификат действителен.