我从An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::314xxxx91079:user/git is not authorized to perform: ecr:GetAuthorizationToken on resource: *
页安装了opencart工具并启用了API服务。
我遵循了这个documentation并收到了access_token,它在API>会话标签中可见。
现在,我想通过API获取可用的产品列表,但在doc中找不到方法。是否可以使用其他任何API来获取产品。
请提供任何参考文档。
谢谢。
答案 0 :(得分:0)
Opencart v.2.1.0.2 , v.2.2.0.0 和 v.2.3.0.2
在/catalog/controller/api/
中
-cart.php
-coupon.php
-currency.php
-customer.php
-login.php
-order.php
-payment.php
-reward.php
-shipping.php
-voucher.php
这些可能是您使用的。
对于其他所有内容,您都必须自己构建。
答案 1 :(得分:0)
所以您已经有炸鸡了,然后:
session.post(
'http://myopencart.example.com/index.php?route=api/cart/products',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={}
)
答案 2 :(得分:0)
如果有人正在寻找OpenCart 3,那么这可能会有所帮助:
How to pull products json through API in Opencart?
View this youtube video,它描述了如何制作自定义OpenCart API并提供了使用方法的详细信息。
在响应服务器中,转到catalog / controller / api /并创建product.php并粘贴以下代码行:
<?php
class ControllerApiProduct extends Controller
{
public function index()
{
$this->load->language('api/cart');
$this->load->model('catalog/product');
$this->load->model('tool/image');
$json = array();
$json['products'] = array();
$filter_data = array();
$results = $this->model_catalog_product->getProducts($filter_data);
foreach ($results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
} else {
$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
}
if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
} else {
$price = false;
}
if ((float) $result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
} else {
$special = false;
}
if ($this->config->get('config_tax')) {
$tax = $this->currency->format((float) $result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
} else {
$tax = false;
}
if ($this->config->get('config_review_status')) {
$rating = (int) $result['rating'];
} else {
$rating = false;
}
$data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
'price' => $price,
'special' => $special,
'tax' => $tax,
'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1,
'rating' => $result['rating'],
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
);
}
$json['products'] = $data['products'];
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
在请求服务器中,创建一个文件,例如apiproducts.php,然后粘贴以下代码并运行它:
<?php
$url = "https://webocreation.com/nepalbuddha";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url . "/index.php?route=api%2Fproduct",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
您将收到如下响应:
{
"products": [{
"product_id": "30",
"thumb": "https:\/\/webocreation.com\/nepalbuddha\/image\/cache\/catalog\/demo\/canon_eos_5d_1-228x228.jpg",
"name": "Canon EOS 5D",
"description": "Canon's press material for the EOS 5D states that it 'defines (a) new D-SLR category', while we're n..",
"price": "$122.00",
"special": "$98.00",
"tax": "$80.00",
"minimum": "1",
"rating": 0,
"href": "https:\/\/webocreation.com\/nepalbuddha\/index.php?route=product\/product&product_id=30"
}, {
"product_id": "47",
"thumb": "https:\/\/webocreation.com\/nepalbuddha\/image\/cache\/catalog\/demo\/hp_1-228x228.jpg",
"name": "HP LP3065",
"description": "Stop your co-workers in their tracks with the stunning new 30-inch diagonal HP LP3065 Flat Panel Mon..",
"price": "$122.00",
"special": false,
"tax": "$100.00",
"minimum": "1",
"rating": 0,
"href": "https:\/\/webocreation.com\/nepalbuddha\/index.php?route=product\/product&product_id=47"
}]
}
您可以查看以下与Opencart API相关的帖子:
https://webocreation.com/blog/pull-products-json-through-ap-opencart https://webocreation.com/blog/opencart-api-documentation-to-create-read-query-update-and-upsert https://webocreation.com/blog/opencart-api-documentation-developer