@@ -68,6 +68,13 @@ def permissions(self, **kwargs):
6868 self ._validate_loaded ()
6969 return TailoredAudiencePermission .all (self .account , self .id , ** kwargs )
7070
71+ def targeted (self , ** kwargs ):
72+ """
73+ Returns a collection of campaigns and line items targeting the curent tailored audience.
74+ """
75+ self ._validate_loaded ()
76+ return TailoredAudienceTargeted .all (self .account , self .id , ** kwargs )
77+
7178 def __create_audience__ (self , name ):
7279 params = {'name' : name }
7380 resource = self .RESOURCE_COLLECTION .format (account_id = self .account .id )
@@ -83,14 +90,15 @@ def __create_audience__(self, name):
8390resource_property (TailoredAudience , 'deleted' , readonly = True , transform = TRANSFORM .BOOL )
8491resource_property (TailoredAudience , 'audience_size' , readonly = True )
8592resource_property (TailoredAudience , 'audience_type' , readonly = True )
86- resource_property (TailoredAudience , 'metadata' , readonly = True )
8793resource_property (TailoredAudience , 'partner_source' , readonly = True )
8894resource_property (TailoredAudience , 'reasons_not_targetable' , readonly = True )
8995resource_property (TailoredAudience , 'targetable' , readonly = True )
9096resource_property (TailoredAudience , 'targetable_types' , readonly = True )
97+ resource_property (TailoredAudience , 'owner_account_id' , readonly = True )
98+
9199# writable
92100resource_property (TailoredAudience , 'name' )
93- resource_property (TailoredAudience , 'list_type ' )
101+ resource_property (TailoredAudience , 'description ' )
94102
95103
96104class TailoredAudiencePermission (Resource ):
@@ -149,3 +157,36 @@ def delete(self):
149157resource_property (TailoredAudiencePermission , 'tailored_audience_id' )
150158resource_property (TailoredAudiencePermission , 'granted_account_id' )
151159resource_property (TailoredAudiencePermission , 'permission_level' )
160+
161+
162+ class TailoredAudienceTargeted (Resource ):
163+
164+ PROPERTIES = {}
165+
166+ RESOURCE = '/' + API_VERSION + '/accounts/{account_id}/tailored_audiences/\
167+ {tailored_audience_id}/targeted'
168+
169+ @classmethod
170+ def all (klass , account , tailored_audience_id , ** kwargs ):
171+ """Returns a Cursor instance for the given targeted tailored audience resource."""
172+
173+ resource = klass .RESOURCE .format (
174+ account_id = account .id ,
175+ tailored_audience_id = tailored_audience_id )
176+ request = Request (account .client , 'get' , resource , params = kwargs )
177+
178+ return Cursor (klass , request , init_with = [account ])
179+
180+
181+ # tailored audience targeted properties
182+ # read-only
183+ resource_property (TailoredAudienceTargeted , 'campaign_id' , readonly = True )
184+ resource_property (TailoredAudienceTargeted , 'campaign_name' , readonly = True )
185+ resource_property (TailoredAudienceTargeted , 'line_items' , readonly = True )
186+ resource_property (TailoredAudienceTargeted , 'id' , readonly = True )
187+ resource_property (TailoredAudienceTargeted , 'name' , readonly = True )
188+ resource_property (TailoredAudienceTargeted , 'servable' , readonly = True , transform = TRANSFORM .BOOL )
189+
190+ # writable
191+ resource_property (TailoredAudienceTargeted , 'tailored_audience_id' )
192+ resource_property (TailoredAudienceTargeted , 'with_active' , transform = TRANSFORM .BOOL )
0 commit comments