- Replace service account authentication with OAuth 2.0 user flow
- Add "Authorize with Google" button in admin settings
- Handle OAuth callback and token exchange
- Store refresh token for automatic access token renewal
- Add revoke authorization functionality
- Update admin UI to show authorization status
- Update price updater to use new OAuth credentials
- Add CSRF protection with state parameter
This change supports organizations that have disabled service account
key creation via iam.disableServiceAccountKeyCreation policy.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix ISE 500 error on plugin activation:
- Defer wc_get_logger() call in Logger class (lazy initialization)
- Move plugin init to plugins_loaded hook with priority 20
- Remove invalid Google_Service_ShoppingContent_Reports instantiation
- Migrate from deprecated Content API to new Merchant API:
- Rewrite Google API class with direct REST calls
- Implement JWT authentication using PHP OpenSSL
- Use WordPress wp_remote_* functions for HTTP requests
- Support Price Competitiveness reports for competitor pricing
- Remove all Composer dependencies:
- Delete vendor/ directory (~50 packages)
- Delete composer.json and composer.lock
- Remove setup scripts and related documentation
- Plugin is now fully self-contained with no external dependencies
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>