Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
internal ID: MONDE-304
Add GAM REST (Beta) API connection
New file: sroka/api/google_ad_manager/gam_rest_api.py
Adds a connection to the Google Ad Manager REST (Beta) API, structured to
match the existing SOAP API pattern in gam_api.py.
init_gam_rest_connection(network_code) — authenticates using the same
ad_manager.json service account key and network_code from config.ini already
used by the SOAP connection. No new config entries required.
get_resource_from_admanager(resource, filter_str, page_size, order_by,
network_code) — generic paginated fetcher, analogous to
get_service_data_from_admanager on the SOAP side. Uses a resource_map to
validate the resource name and resolve it to a REST path, handles
nextPageToken-based pagination automatically, and returns a DataFrame. Raises
ValueError for unsupported resources.
Currently supported resources:
get_private_auctions_from_admanager and
get_private_auction_deals_from_admanager — convenience wrappers over the
generic function, one per resource.
Adding future resources requires only a new entry in resource_map and an
optional wrapper function.
requirements.txt
only a transitive dependency (via google-auth-httplib2); the REST API uses it
directly for AuthorizedSession and service_account.Credentials.