in-square / pimcore-linkedin-bundle
LinkedIn posts sync bundle for Pimcore.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:pimcore-bundle
pkg:composer/in-square/pimcore-linkedin-bundle
Requires
- php: ^8.3
- elements/process-manager-bundle: ^5.0
- guzzlehttp/guzzle: ^7.8
- nesbot/carbon: ^2.0
- pimcore/pimcore: ^11.0
- symfony/console: ^6.4
- symfony/framework-bundle: ^6.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.64
- phpstan/phpstan: ^1.11
This package is not auto-updated.
Last update: 2026-02-16 14:03:25 UTC
README
This bundle synchronizes the latest LinkedIn (Company Page) posts into Pimcore DataObjects (LinkedinPost).
Requirements
- PHP 8.3
- Symfony 6.4
- Pimcore 11.5
Environment Configuration
Set the following in .env or as real environment variables:
LINKEDIN_CLIENT_IDLINKEDIN_CLIENT_SECRETLINKEDIN_REDIRECT_URI(must match your OAuth app settings, e.g.http://localhost/admin/linkedin/callback)LINKEDIN_ORGANIZATION_URN(e.g.urn:li:organization:XXXX)LINKEDIN_API_VERSION(e.g.202509)- Optional:
LINKEDIN_SCOPES(defaultr_organization_social)
Tokens are stored in WebsiteSetting under the key linkedin_token_{env}.
Bundle Configuration
Example (e.g. config/packages/in_square_pimcore_linkedin.yaml):
in_square_pimcore_linkedin: object_folder: '/LinkedIn' assets_folder: '/linkedin' items_limit: 3
OAuth
- Open
GET /admin/linkedin/connectand authorize access. - LinkedIn redirects to
GET /admin/linkedin/callback— the token is stored inWebsiteSetting.
Sync (cron/command)
Command:
bin/console app:linkedin:sync-latest --limit=3
Cron example (daily at 06:00):
0 6 * * * php /path/to/bin/console app:linkedin:sync-latest --limit=3
Step-by-Step Installation
- Install and register the bundle in the host project:
- Ensure the bundle is registered in
config/bundles.phpas:InSquare\PimcoreLinkedinBundle\InSquarePimcoreLinkedinBundle::class => ['all' => true] - Ensure routes are loaded from
config/routes/in_square_pimcore_linkedin.yaml.
- Ensure the bundle is registered in
- Configure environment variables (e.g. in
.env):LINKEDIN_CLIENT_IDLINKEDIN_CLIENT_SECRETLINKEDIN_REDIRECT_URI(must match your OAuth app settings, e.g.http://localhost/admin/linkedin/callback)LINKEDIN_ORGANIZATION_URN(e.g.urn:li:organization:XXXX)LINKEDIN_API_VERSION(e.g.202509)- Optional:
LINKEDIN_SCOPES(defaultr_organization_social)
- Configure bundle settings in
config/packages/in_square_pimcore_linkedin.yaml:object_folder(default/LinkedIn)assets_folder(default/linkedin)items_limit(default3)
- Install the bundle (creates the
LinkedinPostclass definition):bin/console pimcore:bundle:install InSquarePimcoreLinkedinBundle
- Clear cache:
bin/console cache:clear
- Authorize LinkedIn (admin-only endpoints):
- Open
GET /admin/linkedin/connect - After successful login, LinkedIn redirects to
GET /admin/linkedin/callback
- Open
- Run sync manually:
bin/console app:linkedin:sync-latest --limit=3
- (Optional) Add cron (daily at 06:00):
0 6 * * * php /path/to/bin/console app:linkedin:sync-latest --limit=3