How keboola/component-meta works
This is a Keboola extractor for Facebook Graph API data, covering Facebook Pages, Facebook Ads, and Instagram. A configured job validates account and query settings, then the component delegates extraction to the Facebook client, which handles account tokens and dispatches requests. Nested queries support Graph API edges and Insights DSL metrics; Facebook Ads async Insights use report submission and polling. Responses are normalized into table rows and written to Keboola output tables. The README documents broader endpoint coverage than the sampled excerpts; the graph includes those capabilities at the client boundary without inferring their internal wiring.
Main entry points: component.py Component · client.py Facebook client · page_loader.py Page loader · output_parser.py Output parser
Components 13
Job orchestration
- Component
src/component.py - Configuration models
src/configuration.py
Extraction
- Facebook client
src/client.py - Account actions
src/component.py - Page loader
src/page_loader.py - Nested queries
src/client.py - Insights DSL
src/page_loader.py - Async Ads Insights
src/client.py - Pagination handling
src/page_loader.py
Response processing
- Output parser
src/output_parser.py
Table output
- Keboola output tables
Other components
- Keboola job
- Facebook Graph API
Connections 15
- Keboola job → Component: starts job
- Component → Configuration models: validates settings
- Component → Facebook client: processes queries
- Component → Account actions: dispatches actions
- Account actions → Facebook client: lists accounts
- Facebook client → Nested queries: dispatches queries
- Facebook client → Async Ads Insights: dispatches reports
- Nested queries → Page loader: loads Graph data
- Nested queries → Insights DSL: builds metric requests
- Async Ads Insights → Page loader: starts and polls
- Page loader → Facebook Graph API: requests data
- Page loader → Pagination handling: handles page links
- Facebook client → Output parser: parses responses
- Output parser → Page loader: loads next page
- Component → Keboola output tables: writes table rows