我正在使用单个文件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;
}
?>
我在bigcommerce.php的curl命令上输出了输出,我可以看到我实际连接到商店:
我收到以下错误:
Warning: Invalid argument supplied for foreach() in /home/zetaphor/public_html/bigcommerce-api-php-master/coupons.php
我返回的数组不包含任何数据。
我正在使用PHP 5.3.3运行LAMP堆栈,启用了cURL
答案 0 :(得分:1)
我在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';
答案 1 :(得分:0)
setCipher行下面通常有另一行“验证peer”。尝试添加它,使其看起来像:
Bigcommerce::setCipher('RC4-SHA');
Bigcommerce::verifyPeer(false);
编辑:要清楚,我认为这是服务器检查您的证书是否有效的关键部分。