statamic-rad-pack / shopify

Integrate your Shopify products into Statamic using the Admin API.
https://statamic.com/addons/rad-pack/shopify
Other
8 stars 4 forks source link

Importing via CLI throws PageInfo error null $url #236

Closed dgrigg closed 1 week ago

dgrigg commented 1 week ago

Description

Shopify\Clients\PageInfo::getQueryFromUrl(): Argument #1 ($url) must be of type string, null given, called in /var/www/boos/johnboos-cms/vendor/shopify/shopify-api/src/Clients/PageInfo.php on line 147

Full stack trace

[2024-09-13 14:42:11] local.ERROR: Shopify\Clients\PageInfo::getQueryFromUrl(): Argument #1 ($url) must be of type string, null given, called in /var/www/boos/johnboos-cms/vendor/shopify/shopify-api/src/Clients/PageInfo.php on line 147 {"exception":"[object] (TypeError(code: 0): Shopify\\Clients\\PageInfo::getQueryFromUrl(): Argument #1 ($url) must be of type string, null given, called in /var/www/boos/johnboos-cms/vendor/shopify/shopify-api/src/Clients/PageInfo.php on line 147 at /var/www/boos/johnboos-cms/vendor/shopify/shopify-api/src/Clients/PageInfo.php:166)
[stacktrace]
#0 /var/www/boos/johnboos-cms/vendor/shopify/shopify-api/src/Clients/PageInfo.php(147): Shopify\\Clients\\PageInfo::getQueryFromUrl(NULL)
#1 /var/www/boos/johnboos-cms/vendor/statamic-rad-pack/shopify/src/Traits/FetchAllProducts.php(24): Shopify\\Clients\\PageInfo->getNextPageQuery()
#2 /var/www/boos/johnboos-cms/vendor/statamic-rad-pack/shopify/src/Commands/ShopifyImportProducts.php(23): StatamicRadPack\\Shopify\\Commands\\ShopifyImportProducts->fetchProducts()
#3 /var/www/boos/johnboos-cms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): StatamicRadPack\\Shopify\\Commands\\ShopifyImportProducts->handle()
#4 /var/www/boos/johnboos-cms/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#5 /var/www/boos/johnboos-cms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#6 /var/www/boos/johnboos-cms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#7 /var/www/boos/johnboos-cms/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#8 /var/www/boos/johnboos-cms/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\\Container\\Container->call(Array)
#9 /var/www/boos/johnboos-cms/vendor/symfony/console/Command/Command.php(326): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#10 /var/www/boos/johnboos-cms/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#11 /var/www/boos/johnboos-cms/vendor/symfony/console/Application.php(1096): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#12 /var/www/boos/johnboos-cms/vendor/symfony/console/Application.php(324): Symfony\\Component\\Console\\Application->doRunCommand(Object(StatamicRadPack\\Shopify\\Commands\\ShopifyImportProducts), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#13 /var/www/boos/johnboos-cms/vendor/symfony/console/Application.php(175): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#14 /var/www/boos/johnboos-cms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#15 /var/www/boos/johnboos-cms/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#16 {main}
"} 

Steps to reproduce

  1. run the cli command php artisan shopify:import:all

Environment

Application Name: Statamic Laravel Version: 10.48.22 PHP Version: 8.2.19 Composer Version: 2.7.6 Environment: local Debug Mode: ENABLED URL: localhost:3000 Maintenance Mode: OFF

Cache Config: NOT CACHED Events: NOT CACHED Routes: NOT CACHED Views: CACHED

Drivers Broadcasting: log Cache: file Database: mysql Logs: stack / single Mail: smtp Queue: database Session: file

Statamic Addons: 3 Sites: 1 Stache Watcher: Disabled Static Caching: Disabled Version: 5.25.0 PRO

Statamic Addons aerni/advanced-seo: 2.9.0 pxlp/headless: dev-main statamic-rad-pack/shopify: 4.0.1

ryanmitchell commented 1 week ago

I have a fix for that here - https://github.com/statamic-rad-pack/shopify/pull/237 - it seems to be dependent on what API version you're using