samarthagarwal / woocommerce_dart Goto Github PK
View Code? Open in Web Editor NEWA dart package to interact with the WooCommerce REST API.
License: BSD 3-Clause "New" or "Revised" License
A dart package to interact with the WooCommerce REST API.
License: BSD 3-Clause "New" or "Revised" License
Launching lib\main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
Gradle task 'assembleDebug'...
Built build\app\outputs\apk\debug\app-debug.apk.
Installing build\app\outputs\apk\app.apk...
Syncing files to device Android SDK built for x86...
D/ (23443): HostConnection::get() New Host Connection established 0xe6d70dc0, tid 23472
D/EGL_emulation(23443): eglMakeCurrent: 0xe7226e60: ver 2 0 (tinfo 0xe7250a10)
I/flutter (23443): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (23443): The following NoSuchMethodError was thrown building:
I/flutter (23443): The method '[]' was called on null.
I/flutter (23443): Receiver: null
I/flutter (23443): Tried calling:
I/flutter (23443):
I/flutter (23443): When the exception was thrown, this was the stack:
I/flutter (23443): #0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
I/flutter (23443): #1 _MyHomePageState.build.. (package:woocom/main.dart:78:55)
I/flutter (23443): #2 SliverChildBuilderDelegate.build (package:flutter/src/widgets/sliver.dart:397:15)
I/flutter (23443): #3 SliverMultiBoxAdaptorElement._build. (package:flutter/src/widgets/sliver.dart:1000:67)
I/flutter (23443): #4 _HashMap.putIfAbsent (dart:collection/runtime/libcollection_patch.dart:143:29)
I/flutter (23443): #5 SliverMultiBoxAdaptorElement._build (package:flutter/src/widgets/sliver.dart:1000:26)
I/flutter (23443): #6 SliverMultiBoxAdaptorElement.createChild. (package:flutter/src/widgets/sliver.dart:1013:55)
I/flutter (23443): #7 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2266:19)
I/flutter (23443): #8 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1006:11)
I/flutter (23443): #9 RenderSliverMultiBoxAdaptor._createOrObtainChild. (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:274:23)
I/flutter (23443): #10 RenderObject.invokeLayoutCallback. (package:flutter/src/rendering/object.dart:1730:58)
I/flutter (23443): #11 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:799:15)
I/flutter (23443): #12 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1730:13)
I/flutter (23443): #13 RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:263:5)
I/flutter (23443): #14 RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:341:5)
I/flutter (23443): #15 RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:78:12)
I/flutter (23443): #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #17 RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:182:11)
I/flutter (23443): #18 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #19 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:405:13)
I/flutter (23443): #20 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1316:12)
I/flutter (23443): #21 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1234:20)
I/flutter (23443): #22 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #23 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (23443): #24 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #25 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (23443): #26 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #27 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (23443): #28 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #29 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (23443): #30 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #31 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (23443): #32 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #33 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (23443): #34 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #35 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (23443): #36 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #37 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (23443): #38 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (23443): #39 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:142:11)
I/flutter (23443): #40 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:339:7)
I/flutter (23443): #41 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:212:7)
I/flutter (23443): #42 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:356:14)
I/flutter (23443): #43 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1509:7)
I/flutter (23443): #44 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:768:18)
I/flutter (23443): #45 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:281:19)
I/flutter (23443): #46 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:677:13)
I/flutter (23443): #47 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:219:5)
I/flutter (23443): #48 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (23443): #49 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (23443): #50 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
I/flutter (23443): #51 _invoke (dart:ui/hooks.dart:154:13)
I/flutter (23443): #52 _drawFrame (dart:ui/hooks.dart:143:3)
I/flutter (23443): ════════════════════════════════════════════════════════════════════════════════════════════════════
can update param page, per_page ... ??? it only 10 item now
Im developing a flutter woocommerce app and I dont understand too much about Woocommerce, i should make payments through Woocommerce API, or not?
It is compatible with the new WooCommerce Rest API V3 ?
Ive got error like this
[salesapp] flutter packages get
Running "flutter packages get" in salesapp...
The current Dart SDK version is 2.1.0-dev.0.0.flutter-be6309690f.
Because salesapp depends on woocommerce_api any which requires SDK version >=1.23.0 <2.0.0, version solving failed.
pub get failed (1)
exit code 1
Using Exactly Your Code I Got This Error
I/flutter (13726): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (13726): The following NoSuchMethodError was thrown during performLayout():
I/flutter (13726): The method '[]' was called on null.
I/flutter (13726): Receiver: null
I/flutter (13726): Tried calling:
I/flutter (13726):
I/flutter (13726): When the exception was thrown, this was the stack:
I/flutter (13726): #0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:48:5)
I/flutter (13726): #1 _MyHomePageState.build.. (file:///C:/Projects/flutter/woo_commerce/lib/main.dart:78:55)
I/flutter (13726): #2 SliverChildBuilderDelegate.build (package:flutter/src/widgets/sliver.dart:258:20)
I/flutter (13726): #3 SliverMultiBoxAdaptorElement._build. (package:flutter/src/widgets/sliver.dart:783:67)
I/flutter (13726): #4 _HashMap.putIfAbsent (dart:collection/runtime/libcollection_patch.dart:143:29)
I/flutter (13726): #5 SliverMultiBoxAdaptorElement._build (package:flutter/src/widgets/sliver.dart:783:26)
I/flutter (13726): #6 SliverMultiBoxAdaptorElement.createChild. (package:flutter/src/widgets/sliver.dart:796:55)
I/flutter (13726): #7 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2235:19)
I/flutter (13726): #8 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:789:11)
I/flutter (13726): #9 RenderSliverMultiBoxAdaptor._createOrObtainChild. (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:254:23)
I/flutter (13726): #10 RenderObject.invokeLayoutCallback. (package:flutter/src/rendering/object.dart:1727:58)
I/flutter (13726): #11 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:796:15)
I/flutter (13726): #12 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1727:13)
I/flutter (13726): #13 RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:243:5)
I/flutter (13726): #14 RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:321:5)
I/flutter (13726): #15 RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:78:12)
I/flutter (13726): #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #17 RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:182:11)
I/flutter (13726): #18 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #19 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:405:13)
I/flutter (13726): #20 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1320:12)
I/flutter (13726): #21 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1238:20)
I/flutter (13726): #22 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #23 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:108:13)
I/flutter (13726): #24 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #25 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:108:13)
I/flutter (13726): #26 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #27 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:108:13)
I/flutter (13726): #28 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #29 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:108:13)
I/flutter (13726): #30 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #31 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:108:13)
I/flutter (13726): #32 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #33 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:108:13)
I/flutter (13726): #34 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #35 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:108:13)
I/flutter (13726): #36 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #37 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:108:13)
I/flutter (13726): #38 RenderObject.layout (package:flutter/src/rendering/object.dart:1631:7)
I/flutter (13726): #39 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:141:11)
I/flutter (13726): #40 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:338:7)
I/flutter (13726): #41 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:211:7)
I/flutter (13726): #42 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:355:14)
I/flutter (13726): #43 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1506:7)
I/flutter (13726): #44 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:765:18)
I/flutter (13726): #45 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:270:19)
I/flutter (13726): #46 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:654:13)
I/flutter (13726): #47 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
I/flutter (13726): #48 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (13726): #49 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (13726): #50 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
I/flutter (13726): #51 _invoke (dart:ui/hooks.dart:128:13)
I/flutter (13726): #52 _drawFrame (dart:ui/hooks.dart:117:3)
I/flutter (13726):
I/flutter (13726): The following RenderObject was being processed when the exception was fired:
I/flutter (13726): RenderSliverList#8c35f relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (13726): creator: SliverList ← MediaQuery ← SliverPadding ← Viewport ← _ScrollableScope ←
I/flutter (13726): IgnorePointer-[GlobalKey#4e1f0] ← Semantics ← Listener ← _GestureSemantics ←
I/flutter (13726): RawGestureDetector-[LabeledGlobalKey#99210] ←
I/flutter (13726): _ScrollSemantics-[GlobalKey#e1260] ← RepaintBoundary ← ⋯
I/flutter (13726): parentData: paintOffset=Offset(0.0, 0.0) (can use size)
I/flutter (13726): constraints: SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle,
I/flutter (13726): scrollOffset: 0.0, remainingPaintExtent: 603.4, crossAxisExtent: 411.4, crossAxisDirection:
I/flutter (13726): AxisDirection.right, viewportMainAxisExtent: 603.4, remainingCacheExtent: 853.4 cacheOrigin: 0.0 )
I/flutter (13726): geometry: null
I/flutter (13726): no children current live
I/flutter (13726): This RenderObject has no descendants.
I/flutter (13726): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (13726): Another exception was thrown: NoSuchMethodError: The getter 'scrollOffsetCorrection' was called on null.
I/flutter (13726): Another exception was thrown: NoSuchMethodError: The method 'debugAssertIsValid' was called on null.
I/flutter (13726): Another exception was thrown: NoSuchMethodError: The getter 'visible' was called on null.
How can I send PUT and DELETE requests with this package ?
Would you be able to support the use of CoCart?
I'm trying to get all the products in a category that have stock_status=instock but that parameter doesn't work.
The same api consumed from PHP does work, so something in flutter is wrong. I've tried all the ways but I can't get it to work.
Any help?
Future getProduct(int idCategory) async {
WooCommerceAPI wooCommerceAPI = WooCommerceAPI(
url: "xxx/",
consumerKey: "xxx",
consumerSecret: "xxx");
var productos = await wooCommerceAPI
.getAsync("products?stock_status='instock'&per_page=100");
return productos;
}
Hi I am new to mobile development, sorry if I asked a dumb question.
Isn't that saving consumer secret in the app is a bad practice and potentially lead to security breach?
Getting following error:-
The method '[]' was called on null.
Receiver: null
Tried calling: []("images")
When the exception was thrown, this was the stack
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1 _MyOrderPageState.build.<anonymous closure>.<anonymous closure>
package:apps/order.dart:80
#2 SliverChildBuilderDelegate.build
package:flutter/…/widgets/sliver.dart:442
#3 SliverMultiBoxAdaptorElement._build.<anonymous closure>
package:flutter/…/widgets/sliver.dart:1153
#4 _HashMap.putIfAbsent (dart:collection-patch/collection_patch.dart:137:29)
Here is the code:-
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:woocommerce_api/woocommerce_api.dart';
class OrderPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyOrderPage(title: 'WooCommerce API Demo'),
);
}
}
class MyOrderPage extends StatefulWidget {
MyOrderPage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyOrderPageState createState() => _MyOrderPageState();
}
class _MyOrderPageState extends State<MyOrderPage> {
List<Widget> products = [];
Future getProducts() async {
/// Initialize the API
WooCommerceAPI wcApi = WooCommerceAPI(
"https://panahgah.com",
"*****************************************************",
"*****************************************************"
);
/// Get data using the endpoint
var p = await wcApi.getAsync("products");
return p;
}
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
body: FutureBuilder(
future: getProducts(),
builder: (_, s){
if(s.data == null){
return Container(
child: Center(
child: Text("Loading..."),
),
);
}
return ListView.builder(
itemCount: s.data.length,
itemBuilder: (_, index){
/// create a list of products
return ListTile(
leading: CircleAvatar(
child: Image.network(s.data[index]["images"][0]["src"]),
),
title: Text(s.data[index]["name"]),
subtitle: Text("Buy now for \$ " + s.data[index]["price"]),
);
}
);
},
),
);
}
}
My JSON is working fine. Here is the output from my website:-
[
{
"id": 24,
"name": "Ginger",
"slug": "ginger",
"permalink": "https://panahgah.com/product/ginger/",
"date_created": "2019-11-30T17:57:51",
"date_created_gmt": "2019-11-30T17:57:51",
"date_modified": "2019-11-30T17:57:55",
"date_modified_gmt": "2019-11-30T17:57:55",
"type": "simple",
"status": "publish",
"featured": false,
"catalog_visibility": "visible",
"description": "",
"short_description": "",
"sku": "",
"price": "30",
"regular_price": "30",
"sale_price": "",
"date_on_sale_from": null,
"date_on_sale_from_gmt": null,
"date_on_sale_to": null,
"date_on_sale_to_gmt": null,
"price_html": "<span class=\"woocommerce-Price-amount amount\"><span class=\"woocommerce-Price-currencySymbol\">₨</span>30.00</span>",
"on_sale": false,
"purchasable": true,
"total_sales": 4,
"virtual": false,
"downloadable": false,
"downloads": [],
"download_limit": -1,
"download_expiry": -1,
"external_url": "",
"button_text": "",
"tax_status": "taxable",
"tax_class": "",
"manage_stock": false,
"stock_quantity": null,
"stock_status": "instock",
"backorders": "no",
"backorders_allowed": false,
"backordered": false,
"sold_individually": false,
"weight": "",
"dimensions": {
"length": "",
"width": "",
"height": ""
},
"shipping_required": true,
"shipping_taxable": true,
"shipping_class": "",
"shipping_class_id": 0,
"reviews_allowed": false,
"average_rating": "0.00",
"rating_count": 0,
"related_ids": [
22,
21
],
"upsell_ids": [],
"cross_sell_ids": [],
"parent_id": 0,
"purchase_note": "",
"categories": [
{
"id": 22,
"name": "Vegetables",
"slug": "vegetables"
}
],
"tags": [],
"images": [],
"attributes": [
{
"id": 1,
"name": "Unit",
"position": 0,
"visible": true,
"variation": false,
"options": [
"1/4 KG"
]
}
],
"default_attributes": [],
"variations": [],
"grouped_products": [],
"menu_order": 0,
"meta_data": [],
"_links": {
"self": [
{
"href": "https://panahgah.com/wp-json/wc/v3/products/24"
}
],
"collection": [
{
"href": "https://panahgah.com/wp-json/wc/v3/products"
}
]
}
},
]
P.S: I have hidden Consumer Key and Consumer Secret for this post
How would I login to a user using postAsync?
I copied your code but my app is stuck on Loading text its not fetching products
here's my code
`import 'dart:async';
import 'package:flutter/material.dart';
import 'package:woocommerce_api/woocommerce_api.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@OverRide
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyHomePage(title: 'WooCommerce API Demo'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@OverRide
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State {
List products = [];
Future getProducts() async {
/// Initialize the API
WooCommerceAPI wc_api = new WooCommerceAPI(
"http://localhost/ropaarmario/wp-json/wc/v2/products",
"ck_87f26757f5b65a28f50b9fb5b460793abb6f1d93",
"cs_fa87963767fbe06b60fa23da38f31d514c51e2a3"
);
/// Get data using the endpoint
var p = await wc_api.getAsync("products");
return p;
}
@OverRide
void initState() {
super.initState();
}
@OverRide
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
body: FutureBuilder(
future: getProducts(),
builder: (_, s){
if(s.data == null){
return Container(
child: Center(
child: Text("Loading..."),
),
);
}
return ListView.builder(
itemCount: s.data.length,
itemBuilder: (_, index){
/// create a list of products
return ListTile(
leading: CircleAvatar(
child: Image.network(s.data[index]["images"][0]["src"]),
),
title: Text(s.data[index]["name"]),
subtitle: Text("Buy now for \$ " + s.data[index]["price"]),
);
}
);
},
),
);
}
}
`
i checked on postman its working through oauth authentication method
I've copy pasted the example code of your Readme file but I only get 10 products back:
Any idea why?
Best regards
marc
Because query_string 1.0.4 requires SDK version >=0.8.10+6 <2.0.0 and no versions of query_string match >1.0.4 <2.0.0, query_string ^1.0.4 is forbidden.
So, because helo_words depends on woocommerce_api ^0.0.3 which depends on query_string ^1.0.4, version solving failed.
pub get failed (1)
exit code 1
Hi.
The example lists the first 10 items of the virtual store. How would you, in the end, pull the second page of the woocommerce pagination?
Here is the the code line which is causing error:-
subtitle: Text("Rs. " + s.data[index]["price"] + "/" + s.data[index]["tags"]),
Following is the error:-
type 'List<dynamic>' is not a subtype of type 'String'
When trying to display data from Tags, Categories above error is displayed.
Although the API's are working fine but V3 parameters are not supported by this package. Inside the package I found that it uses V2 version of woocommerce API's
Just wondering if this repository is still maintained and active. Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.