View finalized deals

You can use the following methods to view finalized deals for your account and any of your clients .

View individual deal

You can use the buyers.finalizedDeals.get method to retrieve a specific FinalizedDeal associated with your account or one of your clients.

The following sample demonstrates how you can retrieve an individual FinalizedDeal with the get method.

REST

Request

GET https://authorizedbuyersmarketplace.googleapis.com/v1/buyers/12345678/finalizedDeals/1840860?alt=json
Authorization: Bearer ACCESS_TOKEN 
Content-Type: application/json

Response

{
 "name": "buyers/12345678/finalizedDeals/1840860",
 "deal": {
   "name": "buyers/12345678/proposals/MP8642048/deals/1840860",
   "createTime": "2031-03-26T05:53:33.053Z",
   "updateTime": "2031-03-26T05:54:33.442Z",
   "displayName": "test-pg-deal-4",
   "buyer": "buyers/12345678",
   "publisherProfile": "buyers/12345678/publisherProfiles/PP12345",
   "flightStartTime": "2032-03-31T16:00:00Z",
   "flightEndTime": "2032-03-31T18:59:00Z",
   "targeting": {
     "inventorySizeTargeting": {
       "targetedInventorySizes": [
         {
           "width": "200",
           "height": "200",
           "type": "PIXEL"
         },
         {
           "width": "234",
           "height": "60",
           "type": "PIXEL"
         },
         {
           "width": "240",
           "height": "400",
           "type": "PIXEL"
         },
         {
           "width": "300",
           "height": "250",
           "type": "PIXEL"
         },
         {
           "width": "300",
           "height": "600",
           "type": "PIXEL"
         },
         {
           "width": "300",
           "height": "1050",
           "type": "PIXEL"
         }
       ]
     }
   },
   "creativeRequirements": {
     "creativePreApprovalPolicy": "SELLER_PRE_APPROVAL_NOT_REQUIRED",
     "creativeSafeFrameCompatibility": "COMPATIBLE",
     "programmaticCreativeSource": "ADVERTISER",
     "creativeFormat": "DISPLAY"
   },
   "deliveryControl": {
     "deliveryRateType": "EVENLY"
   },
   "billedBuyer": "buyers/12345678",
   "dealType": "PROGRAMMATIC_GUARANTEED",
   "programmaticGuaranteedTerms": {
     "guaranteedLooks": "1",
     "fixedPrice": {
       "type": "CPM",
       "amount": {
         "currencyCode": "USD",
         "nanos": 10000000
       }
     },
     "reservationType": "STANDARD"
   },
   "sellerTimeZone": {
     "id": "Asia/Shanghai"
   }
 },
 "dealServingStatus": "ENDED",
 "dealPausingInfo": {
   "pausingConsented": true
  },
 "rtbMetrics": {},
 "readyToServe": false
}

C#

 /* Copyright 2022 Google LLC 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 
 using 
  
 Google.Apis.AuthorizedBuyersMarketplace.v1 
 ; 
 using 
  
 Google.Apis.AuthorizedBuyersMarketplace.v1.Data 
 ; 
 using 
  
 Mono.Options 
 ; 
 using 
  
 System 
 ; 
 using 
  
 System.Collections.Generic 
 ; 
 namespace 
  
 Google.Apis.AuthorizedBuyersMarketplace.Examples.v1.Buyers.FinalizedDeals 
 { 
  
 /// <summary> 
  
 /// Gets a single finalized deal for the given buyer and deal IDs. 
  
 /// 
  
 /// Note that deal IDs for finalized deals are identical to those of 
  
 /// non-finalized deals–when a deal becomes finalized, its deal ID will not 
  
 /// change. 
  
 /// </summary> 
  
 public 
  
 class 
  
 GetFinalizedDeals 
  
 : 
  
 ExampleBase 
  
 { 
  
 private 
  
 AuthorizedBuyersMarketplaceService 
  
 mkService 
 ; 
  
 /// <summary> 
  
 /// Constructor. 
  
 /// </summary> 
  
 public 
  
 GetFinalizedDeals 
 () 
  
 { 
  
 mkService 
  
 = 
  
 Utilities 
 . 
 GetAuthorizedBuyersMarketplaceService 
 (); 
  
 } 
  
 /// <summary> 
  
 /// Returns a description about the code example. 
  
 /// </summary> 
  
 public 
  
 override 
  
 string 
  
 Description 
  
 { 
  
 get 
  
 = 
>  
 "This code example gets a finalized deal for given buyer and deal IDs." 
 ; 
  
 } 
  
 /// <summary> 
  
 /// Parse specified arguments. 
  
 /// </summary> 
  
 protected 
  
 override 
  
 Dictionary<string 
 , 
  
 object 
>  
 ParseArguments 
 ( 
 List<string> 
  
 exampleArgs 
 ) 
  
 { 
  
 string 
 [] 
  
 requiredOptions 
  
 = 
  
 new 
  
 string 
 [] 
  
 { 
 "account_id" 
 , 
  
 "deal_id" 
 }; 
  
 bool 
  
 showHelp 
  
 = 
  
 false 
 ; 
  
 string 
  
 accountId 
  
 = 
  
 null 
 ; 
  
 string 
  
 dealId 
  
 = 
  
 null 
 ; 
  
 OptionSet 
  
 options 
  
 = 
  
 new 
  
 OptionSet 
  
 { 
  
 "Get a finalized deal for the given buyer and deal IDs." 
 , 
  
 { 
  
 "h|help" 
 , 
  
 "Show help message and exit." 
 , 
  
 h 
  
 = 
>  
 showHelp 
  
 = 
  
 h 
  
 != 
  
 null 
  
 }, 
  
 { 
  
 "a|account_id=" 
 , 
  
 ( 
 "[Required] The resource ID of the buyers resource under which the auction " 
  
 + 
  
 "package is being retrieved. This will be used to construct the name used " 
  
 + 
  
 "as a path parameter for the auctionPackages.get request." 
 ), 
  
 a 
  
 = 
>  
 accountId 
  
 = 
  
 a 
  
 }, 
  
 { 
  
 "d|deal_id=" 
 , 
  
 ( 
 "[Required] The resource ID of the buyers.finalizedDeals resource that " 
  
 + 
  
 "is being retrieved. This will be used to construct the name used as a " 
  
 + 
  
 "path parameter for the finalizedDeals.get request." 
 ), 
  
 d 
  
 = 
>  
 dealId 
  
 = 
  
 d 
  
 }, 
  
 }; 
  
 List<string> 
  
 extras 
  
 = 
  
 options 
 . 
 Parse 
 ( 
 exampleArgs 
 ); 
  
 var 
  
 parsedArgs 
  
 = 
  
 new 
  
 Dictionary<string 
 , 
  
 object 
> (); 
  
 // Show help message. 
  
 if 
  
 ( 
 showHelp 
  
 == 
  
 true 
 ) 
  
 { 
  
 options 
 . 
 WriteOptionDescriptions 
 ( 
 Console 
 . 
 Out 
 ); 
  
 Environment 
 . 
 Exit 
 ( 
 0 
 ); 
  
 } 
  
 // Set optional arguments. 
  
 parsedArgs 
 [ 
 "account_id" 
 ] 
  
 = 
  
 accountId 
 ; 
  
 parsedArgs 
 [ 
 "deal_id" 
 ] 
  
 = 
  
 dealId 
 ; 
  
 // Validate that options were set correctly. 
  
 Utilities 
 . 
 ValidateOptions 
 ( 
 options 
 , 
  
 parsedArgs 
 , 
  
 requiredOptions 
 , 
  
 extras 
 ); 
  
 return 
  
 parsedArgs 
 ; 
  
 } 
  
 /// <summary> 
  
 /// Run the example. 
  
 /// </summary> 
  
 /// <param name="parsedArgs">Parsed arguments for the example.</param> 
  
 protected 
  
 override 
  
 void 
  
 Run 
 ( 
 Dictionary<string 
 , 
  
 object 
>  
 parsedArgs 
 ) 
  
 { 
  
 string 
  
 accountId 
  
 = 
  
 ( 
 string 
 ) 
  
 parsedArgs 
 [ 
 "account_id" 
 ]; 
  
 string 
  
 dealId 
  
 = 
  
 ( 
 string 
 ) 
  
 parsedArgs 
 [ 
 "deal_id" 
 ]; 
  
 string 
  
 name 
  
 = 
  
 $"buyers/{accountId}/finalizedDeals/{dealId}" 
 ; 
  
 BuyersResource 
 . 
 FinalizedDealsResource 
 . 
 GetRequest 
  
 request 
  
 = 
  
 mkService 
 . 
 Buyers 
 . 
 FinalizedDeals 
 . 
 Get 
 ( 
 name 
 ); 
  
 FinalizedDeal 
  
 response 
  
 = 
  
 null 
 ; 
  
 Console 
 . 
 WriteLine 
 ( 
 "Getting finalized deal with name: {0}" 
 , 
  
 name 
 ); 
  
 try 
  
 { 
  
 response 
  
 = 
  
 request 
 . 
 Execute 
 (); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 exception 
 ) 
  
 { 
  
 throw 
  
 new 
  
 ApplicationException 
 ( 
  
 $"Marketplace API returned error response:\n{exception.Message}" 
 ); 
  
 } 
  
 Utilities 
 . 
 PrintFinalizedDeal 
 ( 
 response 
 ); 
  
 } 
  
 } 
 } 

Java

 /* 
 * Copyright 2022 Google LLC 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *    https://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 
 package 
  
 com.google.api.services.samples.authorizedbuyers.marketplace.v1.buyers.finalizedDeals 
 ; 
 import 
  
 com.google.api.services.authorizedbuyersmarketplace.v1.AuthorizedBuyersMarketplace 
 ; 
 import 
  
 com.google.api.services.authorizedbuyersmarketplace.v1.model.FinalizedDeal 
 ; 
 import 
  
 com.google.api.services.samples.authorizedbuyers.marketplace.Utils 
 ; 
 import 
  
 java.io.IOException 
 ; 
 import 
  
 java.security.GeneralSecurityException 
 ; 
 import 
  
 net.sourceforge.argparse4j.ArgumentParsers 
 ; 
 import 
  
 net.sourceforge.argparse4j.inf.ArgumentParser 
 ; 
 import 
  
 net.sourceforge.argparse4j.inf.ArgumentParserException 
 ; 
 import 
  
 net.sourceforge.argparse4j.inf.Namespace 
 ; 
 /** 
 * This sample illustrates how to get a finalized deal for the given buyer and deal IDs. 
 * 
 * <p>Note that deal IDs for finalized deals are identical to those of non-finalized deals–when a 
 * deal becomes finalized, its deal ID will not change. 
 */ 
 public 
  
 class 
 GetFinalizedDeals 
  
 { 
  
 public 
  
 static 
  
 void 
  
 execute 
 ( 
 AuthorizedBuyersMarketplace 
  
 marketplaceClient 
 , 
  
 Namespace 
  
 parsedArgs 
 ) 
  
 { 
  
 Long 
  
 accountId 
  
 = 
  
 parsedArgs 
 . 
 getLong 
 ( 
 "account_id" 
 ); 
  
 Long 
  
 dealId 
  
 = 
  
 parsedArgs 
 . 
 getLong 
 ( 
 "deal_id" 
 ); 
  
 String 
  
 name 
  
 = 
  
 String 
 . 
 format 
 ( 
 "buyers/%d/finalizedDeals/%d" 
 , 
  
 accountId 
 , 
  
 dealId 
 ); 
  
 FinalizedDeal 
  
 finalizedDeal 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 finalizedDeal 
  
 = 
  
 marketplaceClient 
 . 
 buyers 
 (). 
 finalizedDeals 
 (). 
 get 
 ( 
 name 
 ). 
 execute 
 (); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Marketplace API returned error response:%n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
  
 "Found finalized deal with ID \"%d\" for buyer account ID \"%d\":%n" 
 , 
  
 dealId 
 , 
  
 accountId 
 ); 
  
 Utils 
 . 
 printFinalizedDeal 
 ( 
 finalizedDeal 
 ); 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 { 
  
 ArgumentParser 
  
 parser 
  
 = 
  
 ArgumentParsers 
 . 
 newFor 
 ( 
 "GetFinalizedDeals" 
 ) 
  
 . 
 build 
 () 
  
 . 
 defaultHelp 
 ( 
 true 
 ) 
  
 . 
 description 
 (( 
 "Get a finalized deal for the given buyer account ID and deal ID." 
 )); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-a" 
 , 
  
 "--account_id" 
 ) 
  
 . 
 help 
 ( 
  
 "The resource ID of the buyers resource under which the finalized deal exists. " 
  
 + 
  
 "This will be used to construct the parent used as a path parameter for the " 
  
 + 
  
 "finalizedDeals.get request." 
 ) 
  
 . 
 required 
 ( 
 true 
 ) 
  
 . 
 type 
 ( 
 Long 
 . 
 class 
 ); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-d" 
 , 
  
 "--deal_id" 
 ) 
  
 . 
 help 
 ( 
  
 "The resource ID of the buyers.finalizedDeals resource that is being retrieved. " 
  
 + 
  
 "This will be used to construct the name used as a path parameter for the " 
  
 + 
  
 "finalizedDeals.get request." 
 ) 
  
 . 
 required 
 ( 
 true 
 ) 
  
 . 
 type 
 ( 
 Long 
 . 
 class 
 ); 
  
 Namespace 
  
 parsedArgs 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 parsedArgs 
  
 = 
  
 parser 
 . 
 parseArgs 
 ( 
 args 
 ); 
  
 } 
  
 catch 
  
 ( 
 ArgumentParserException 
  
 ex 
 ) 
  
 { 
  
 parser 
 . 
 handleError 
 ( 
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 AuthorizedBuyersMarketplace 
  
 client 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 client 
  
 = 
  
 Utils 
 . 
 getMarketplaceClient 
 (); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Unable to create Marketplace API service:%n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Did you specify a valid path to a service account key file?" 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 catch 
  
 ( 
 GeneralSecurityException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Unable to establish secure HttpTransport:%n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 execute 
 ( 
 client 
 , 
  
 parsedArgs 
 ); 
  
 } 
 } 

Python

 #!/usr/bin/python 
 # 
 # Copyright 2021 Google Inc. All Rights Reserved. 
 # 
 # Licensed under the Apache License, Version 2.0 (the "License"); 
 # you may not use this file except in compliance with the License. 
 # You may obtain a copy of the License at 
 # 
 #      http://www.apache.org/licenses/LICENSE-2.0 
 # 
 # Unless required by applicable law or agreed to in writing, software 
 # distributed under the License is distributed on an "AS IS" BASIS, 
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 # See the License for the specific language governing permissions and 
 # limitations under the License. 
 """Gets a single finalized deal for the given account and deal IDs.""" 
 import 
  
 argparse 
 import 
  
 os 
 import 
  
 pprint 
 import 
  
 sys 
 sys 
 . 
 path 
 . 
 insert 
 ( 
 0 
 , 
 os 
 . 
 path 
 . 
 abspath 
 ( 
 '../../..' 
 )) 
 from 
  
 googleapiclient.errors 
  
 import 
 HttpError 
 import 
  
 util 
 _FINALIZED_DEALS_NAME_TEMPLATE 
 = 
 'buyers/ 
 %s 
 /finalizedDeals/ 
 %s 
 ' 
 DEFAULT_BUYER_RESOURCE_ID 
 = 
 'ENTER_BUYER_RESOURCE_ID_HERE' 
 DEFAULT_FINALIZED_DEAL_RESOURCE_ID 
 = 
 'ENTER_DEAL_RESOURCE_ID_HERE' 
 def 
  
 main 
 ( 
 marketplace 
 , 
 args 
 ): 
 finalized_deal_name 
 = 
 _FINALIZED_DEALS_NAME_TEMPLATE 
 % 
 ( 
 args 
 . 
 account_id 
 , 
 args 
 . 
 deal_id 
 ) 
 print 
 ( 
 f 
 'Get finalized deal with name " 
 { 
 finalized_deal_name 
 } 
 ":' 
 ) 
 try 
 : 
 # Construct and execute the request. 
 response 
 = 
 marketplace 
 . 
 buyers 
 () 
 . 
 finalizedDeals 
 () 
 . 
 get 
 ( 
 name 
 = 
 finalized_deal_name 
 ) 
 . 
 execute 
 () 
 except 
 HttpError 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 sys 
 . 
 exit 
 ( 
 1 
 ) 
 pprint 
 . 
 pprint 
 ( 
 response 
 ) 
 if 
 __name__ 
 == 
 '__main__' 
 : 
 try 
 : 
 service 
 = 
 util 
 . 
 get_service 
 ( 
 version 
 = 
 'v1' 
 ) 
 except 
 IOError 
 as 
 ex 
 : 
 print 
 ( 
 f 
 'Unable to create marketplace service - 
 { 
 ex 
 } 
 ' 
 ) 
 print 
 ( 
 'Did you specify the key file in util.py?' 
 ) 
 sys 
 . 
 exit 
 ( 
 1 
 ) 
 parser 
 = 
 argparse 
 . 
 ArgumentParser 
 ( 
 description 
 = 
 ( 
 'Get a finalized deal for the given buyer account ID and ' 
 'deal ID.' 
 )) 
 # Required fields. 
 parser 
 . 
 add_argument 
 ( 
 '-a' 
 , 
 '--account_id' 
 , 
 default 
 = 
 DEFAULT_BUYER_RESOURCE_ID 
 , 
 help 
 = 
 ( 
 'The resource ID of the buyers resource for which the finalized ' 
 'deal is being accessed. This will be used to construct the ' 
 'name used as a path parameter for the finalizedDeals.get ' 
 'request.' 
 )) 
 parser 
 . 
 add_argument 
 ( 
 '-d' 
 , 
 '--deal_id' 
 , 
 default 
 = 
 DEFAULT_FINALIZED_DEAL_RESOURCE_ID 
 , 
 help 
 = 
 ( 
 'The resource ID of the buyers.finalizedDeals resource that is ' 
 'being accessed. Note that this will be identical to the ' 
 'resource ID of the corresponding buyers.proposals.deals ' 
 'resource. This will be used to construct the name used as a ' 
 'path parameter for the finalizedDeals.get request.' 
 )) 
 main 
 ( 
 service 
 , 
 parser 
 . 
 parse_args 
 ()) 

List deals as bidder

You can use the bidders.finalizedDeals.list method to page through all finalized deals that were negotiated by any buyer or client associated with your bidder account.

You can use this method to search broadly across multiple accounts.

The following sample demonstrates how you can list finalized deals with the list method.

REST

Request

GET https://authorizedbuyersmarketplace.googleapis.com/v1/bidders/12345678/finalizedDeals?filter=deal.dealType+%3D+PROGRAMMATIC_GUARANTEED&orderBy=deal.flightStartTime+desc&pageSize=3&alt=json
Authorization: Bearer ACCESS_TOKEN 
Content-Type: application/json

Response

{
 "finalizedDeals": [
   {
     "name": "buyers/12345678/finalizedDeals/2809704",
     "deal": {
       "name": "buyers/12345678/proposals/MP24462282/deals/2809704",
       "createTime": "2031-05-10T21:12:10.586Z",
       "updateTime": "2031-08-18T16:23:35.087Z",
       "displayName": "test-pg-deal-1",
       "buyer": "buyers/12345678",
       "publisherProfile": "buyers/12345678/publisherProfiles/PP62461",
       "flightStartTime": "2031-12-14T16:00:00Z",
       "flightEndTime": "2031-03-07T15:59:00Z",
       "targeting": {
         "inventorySizeTargeting": {
           "targetedInventorySizes": [
             {
               "width": "1",
               "height": "1",
               "type": "NATIVE"
             }
           ]
         }
       },
       "creativeRequirements": {
         "creativePreApprovalPolicy": "SELLER_PRE_APPROVAL_NOT_REQUIRED",
         "creativeSafeFrameCompatibility": "COMPATIBLE",
         "programmaticCreativeSource": "ADVERTISER",
         "creativeFormat": "DISPLAY"
       },
       "deliveryControl": {
         "deliveryRateType": "FRONT_LOADED"
       },
       "billedBuyer": "buyers/12345678",
       "dealType": "PROGRAMMATIC_GUARANTEED",
       "programmaticGuaranteedTerms": {
         "guaranteedLooks": "1000",
         "fixedPrice": {
           "type": "CPM",
           "amount": {
             "currencyCode": "CNY",
             "units": "20"
           }
         },
         "reservationType": "STANDARD"
       },
       "sellerTimeZone": {
         "id": "Asia/Shanghai"
       }
     },
     "dealServingStatus": "PAUSED_BY_SELLER",
     "dealPausingInfo": {
        "pausingConsented": true,
       "pauseRole": "SELLER"
     },
     "rtbMetrics": {}
   },
   {
     "name": "buyers/12345678/finalizedDeals/1537354",
     "deal": {
       "name": "buyers/39382167/proposals/MP14640061/deals/1537354",
       "createTime": "2031-06-11T15:03:25.412Z",
       "updateTime": "2031-06-11T15:18:34.209Z",
       "displayName": "test-pg-deal-2",
       "buyer": "buyers/39382167",
       "publisherProfile": "buyers/39382167/publisherProfiles/PP382992",
       "flightStartTime": "2032-12-13T16:00:00Z",
       "flightEndTime": "2034-03-06T15:59:00Z",
       "targeting": {
         "inventorySizeTargeting": {
           "targetedInventorySizes": [
             {
               "width": "1",
               "height": "1",
               "type": "NATIVE"
             }
           ]
         }
       },
       "creativeRequirements": {
         "creativePreApprovalPolicy": "SELLER_PRE_APPROVAL_NOT_REQUIRED",
         "creativeSafeFrameCompatibility": "COMPATIBLE",
         "programmaticCreativeSource": "ADVERTISER",
         "creativeFormat": "DISPLAY"
       },
       "deliveryControl": {
         "deliveryRateType": "FRONT_LOADED"
       },
       "billedBuyer": "buyers/39382167",
       "dealType": "PROGRAMMATIC_GUARANTEED",
       "programmaticGuaranteedTerms": {
          "guaranteedLooks": "1000",
          "fixedPrice": {
           "type": "CPM",
           "amount": {
             "currencyCode": "CNY",
             "units": "20"
           }
         },
         "reservationType": "STANDARD"
       },
       "sellerTimeZone": {
         "id": "Asia/Shanghai"
       }
     },
     "dealServingStatus": "ACTIVE",
     "dealPausingInfo": {
       "pausingConsented": true
     },
     "rtbMetrics": {},
     "readyToServe": true
   },
   {
     "name": "buyers/6524914/finalizedDeals/3126325",
     "deal": {
       "name": "buyers/6524914/proposals/MP17820211/deals/1518325",
       "createTime": "2031-05-11T15:16:49.903Z",
       "updateTime": "2031-05-11T15:21:34.162Z",
       "displayName": "test-pg-deal-3",
       "client": "buyers/6524914/clients/19823764",
       "publisherProfile": "buyers/6524914/publisherProfiles/2109413",
       "flightStartTime": "2032-04-11T16:00:00Z",
       "flightEndTime": "2032-10-13T15:59:00Z",
       "targeting": {
         "inventorySizeTargeting": {
           "targetedInventorySizes": [
             {
               "width": "1",
               "height": "1",
               "type": "NATIVE"
             }
           ]
         }
       },
       "creativeRequirements": {
         "creativePreApprovalPolicy": "SELLER_PRE_APPROVAL_NOT_REQUIRED",
         "creativeSafeFrameCompatibility": "COMPATIBLE",
         "programmaticCreativeSource": "ADVERTISER",
         "creativeFormat": "DISPLAY"
       },
       "deliveryControl": {
         "deliveryRateType": "FRONT_LOADED"
       },
       "billedBuyer": "buyers/6524914",
       "dealType": "PROGRAMMATIC_GUARANTEED",
       "programmaticGuaranteedTerms": {
         "guaranteedLooks": "1000",
         "fixedPrice": {
           "type": "CPM",
           "amount": {
             "currencyCode": "CNY",
             "units": "18"
           }
         },
         "reservationType": "STANDARD"
       },
       "sellerTimeZone": {
         "id": "Asia/Shanghai"
       }
     },
     "dealServingStatus": "ACTIVE",
     "dealPausingInfo": {},
     "rtbMetrics": {},
     "readyToServe": true
   }
 ],
 "nextPageToken": "CAMQy_DV1qLx9gIYy_DV1qLx9gI="
}

C#

 /* Copyright 2022 Google LLC 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 
 using 
  
 Google.Apis.AuthorizedBuyersMarketplace.v1 
 ; 
 using 
  
 Google.Apis.AuthorizedBuyersMarketplace.v1.Data 
 ; 
 using 
  
 Mono.Options 
 ; 
 using 
  
 System 
 ; 
 using 
  
 System.Collections.Generic 
 ; 
 namespace 
  
 Google.Apis.AuthorizedBuyersMarketplace.Examples.v1.Bidders.FinalizedDeals 
 { 
  
 /// <summary> 
  
 /// Lists finalized deals for the given bidder, their buyers, and clients. 
  
 /// </summary> 
  
 public 
  
 class 
  
 ListFinalizedDeals 
  
 : 
  
 ExampleBase 
  
 { 
  
 private 
  
 AuthorizedBuyersMarketplaceService 
  
 mkService 
 ; 
  
 /// <summary> 
  
 /// Constructor. 
  
 /// </summary> 
  
 public 
  
 ListFinalizedDeals 
 () 
  
 { 
  
 mkService 
  
 = 
  
 Utilities 
 . 
 GetAuthorizedBuyersMarketplaceService 
 (); 
  
 } 
  
 /// <summary> 
  
 /// Returns a description about the code example. 
  
 /// </summary> 
  
 public 
  
 override 
  
 string 
  
 Description 
  
 { 
  
 get 
  
 = 
>  
 "This code example lists finalized deals for a given bidder, their buyers, " 
  
 + 
  
 "and clients." 
 ; 
  
 } 
  
 /// <summary> 
  
 /// Parse specified arguments. 
  
 /// </summary> 
  
 protected 
  
 override 
  
 Dictionary<string 
 , 
  
 object 
>  
 ParseArguments 
 ( 
 List<string> 
  
 exampleArgs 
 ) 
  
 { 
  
 string 
 [] 
  
 requiredOptions 
  
 = 
  
 new 
  
 string 
 [] 
  
 { 
 "account_id" 
 }; 
  
 bool 
  
 showHelp 
  
 = 
  
 false 
 ; 
  
 string 
  
 accountId 
  
 = 
  
 null 
 ; 
  
 string 
  
 filter 
  
 = 
  
 null 
 ; 
  
 string 
  
 orderBy 
  
 = 
  
 null 
 ; 
  
 int? 
  
 pageSize 
  
 = 
  
 null 
 ; 
  
 string 
  
 defaultFilter 
  
 = 
  
 "deal.dealType = PROGRAMMATIC_GUARANTEED" 
 ; 
  
 string 
  
 defaultOrderBy 
  
 = 
  
 "deal.flightStartTime desc" 
 ; 
  
 OptionSet 
  
 options 
  
 = 
  
 new 
  
 OptionSet 
  
 { 
  
 "List finalized deals for the given bidder, their buyers, and clients." 
 , 
  
 { 
  
 "h|help" 
 , 
  
 "Show help message and exit." 
 , 
  
 h 
  
 = 
>  
 showHelp 
  
 = 
  
 h 
  
 != 
  
 null 
  
 }, 
  
 { 
  
 "a|account_id=" 
 , 
  
 ( 
 "[Required] The resource ID of the bidders resource under which the " 
  
 + 
  
 "finalized deals are being retrieved. This will be used to construct the " 
  
 + 
  
 "parent used as a path parameter for the finalizedDeals.list request." 
 ), 
  
 a 
  
 = 
>  
 accountId 
  
 = 
  
 a 
  
 }, 
  
 { 
  
 "f|filter=" 
 , 
  
 ( 
 "Query string to filter finalized deals. By default, this example will " 
  
 + 
  
 "fitler by deal type to retrieve programmatic guaranteed deals to " 
  
 + 
  
 "demonstrate usage." 
 ), 
  
 f 
  
 = 
>  
 filter 
  
 = 
  
 f 
  
 }, 
  
 { 
  
 "o|order_by=" 
 , 
  
 ( 
 "Query string used to sort the response of the list method. By default, " 
  
 + 
  
 "this example will return deals in descending order of their flight start " 
  
 + 
  
 "time to demonstrate usage. To learn more about the syntax for this " 
  
 + 
  
 "parameter, see: " 
  
 + 
  
 "https://cloud.google.com/apis/design/design_patterns#sorting_order" 
 ), 
  
 o 
  
 = 
>  
 orderBy 
  
 = 
  
 o 
  
 }, 
  
 { 
  
 "p|page_size=" 
 , 
  
 ( 
 "The number of rows to return per page. The server may return fewer rows " 
  
 + 
  
 "than specified." 
 ), 
  
 ( 
 int 
  
 p 
 ) 
  
 = 
>  
 pageSize 
  
 = 
  
 p 
  
 }, 
  
 }; 
  
 List<string> 
  
 extras 
  
 = 
  
 options 
 . 
 Parse 
 ( 
 exampleArgs 
 ); 
  
 var 
  
 parsedArgs 
  
 = 
  
 new 
  
 Dictionary<string 
 , 
  
 object 
> (); 
  
 // Show help message. 
  
 if 
  
 ( 
 showHelp 
  
 == 
  
 true 
 ) 
  
 { 
  
 options 
 . 
 WriteOptionDescriptions 
 ( 
 Console 
 . 
 Out 
 ); 
  
 Environment 
 . 
 Exit 
 ( 
 0 
 ); 
  
 } 
  
 // Set arguments. 
  
 parsedArgs 
 [ 
 "account_id" 
 ] 
  
 = 
  
 accountId 
 ; 
  
 parsedArgs 
 [ 
 "filter" 
 ] 
  
 = 
  
 filter 
  
 ?? 
  
 defaultFilter 
 ; 
  
 parsedArgs 
 [ 
 "order_by" 
 ] 
  
 = 
  
 orderBy 
  
 ?? 
  
 defaultOrderBy 
 ; 
  
 parsedArgs 
 [ 
 "pageSize" 
 ] 
  
 = 
  
 pageSize 
  
 ?? 
  
 Utilities 
 . 
 MAX_PAGE_SIZE 
 ; 
  
 // Validate that options were set correctly. 
  
 Utilities 
 . 
 ValidateOptions 
 ( 
 options 
 , 
  
 parsedArgs 
 , 
  
 requiredOptions 
 , 
  
 extras 
 ); 
  
 return 
  
 parsedArgs 
 ; 
  
 } 
  
 /// <summary> 
  
 /// Run the example. 
  
 /// </summary> 
  
 /// <param name="parsedArgs">Parsed arguments for the example.</param> 
  
 protected 
  
 override 
  
 void 
  
 Run 
 ( 
 Dictionary<string 
 , 
  
 object 
>  
 parsedArgs 
 ) 
  
 { 
  
 string 
  
 accountId 
  
 = 
  
 ( 
 string 
 ) 
  
 parsedArgs 
 [ 
 "account_id" 
 ]; 
  
 string 
  
 parent 
  
 = 
  
 $"bidders/{accountId}" 
 ; 
  
 string 
  
 pageToken 
  
 = 
  
 null 
 ; 
  
 Console 
 . 
 WriteLine 
 ( 
 @"Listing finalized deals for bidder account ""{0}""" 
 , 
  
 parent 
 ); 
  
 do 
  
 { 
  
 BiddersResource 
 . 
 FinalizedDealsResource 
 . 
 ListRequest 
  
 request 
  
 = 
  
 mkService 
 . 
 Bidders 
 . 
 FinalizedDeals 
 . 
 List 
 ( 
 parent 
 ); 
  
 request 
 . 
 Filter 
  
 = 
  
 ( 
 string 
 ) 
  
 parsedArgs 
 [ 
 "filter" 
 ]; 
  
 request 
 . 
 OrderBy 
  
 = 
  
 ( 
 string 
 ) 
  
 parsedArgs 
 [ 
 "order_by" 
 ]; 
  
 request 
 . 
 PageSize 
  
 = 
  
 ( 
 int 
 ) 
  
 parsedArgs 
 [ 
 "pageSize" 
 ]; 
  
 request 
 . 
 PageToken 
  
 = 
  
 pageToken 
 ; 
  
 ListFinalizedDealsResponse 
  
 page 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 page 
  
 = 
  
 request 
 . 
 Execute 
 (); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 exception 
 ) 
  
 { 
  
 throw 
  
 new 
  
 ApplicationException 
 ( 
  
 $"Marketplace API returned error response:\n{exception.Message}" 
 ); 
  
 } 
  
 var 
  
 finalizedDeals 
  
 = 
  
 page 
 . 
 FinalizedDeals 
 ; 
  
 pageToken 
  
 = 
  
 page 
 . 
 NextPageToken 
 ; 
  
 if 
  
 ( 
 finalizedDeals 
  
 == 
  
 null 
 ) 
  
 { 
  
 Console 
 . 
 WriteLine 
 ( 
 "No finalized deals found for bidder account." 
 ); 
  
 } 
  
 else 
  
 { 
  
 foreach 
  
 ( 
 FinalizedDeal 
  
 finalizedDeal 
  
 in 
  
 finalizedDeals 
 ) 
  
 { 
  
 Utilities 
 . 
 PrintFinalizedDeal 
 ( 
 finalizedDeal 
 ); 
  
 } 
  
 } 
  
 } 
  
 while 
 ( 
 pageToken 
  
 != 
  
 null 
 ); 
  
 } 
  
 } 
 } 

Java

 /* 
 * Copyright 2022 Google LLC 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *    https://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 
 package 
  
 com.google.api.services.samples.authorizedbuyers.marketplace.v1.bidders.finalizedDeals 
 ; 
 import 
  
 com.google.api.services.authorizedbuyersmarketplace.v1.AuthorizedBuyersMarketplace 
 ; 
 import 
  
 com.google.api.services.authorizedbuyersmarketplace.v1.model.FinalizedDeal 
 ; 
 import 
  
 com.google.api.services.authorizedbuyersmarketplace.v1.model.ListFinalizedDealsResponse 
 ; 
 import 
  
 com.google.api.services.samples.authorizedbuyers.marketplace.Utils 
 ; 
 import 
  
 java.io.IOException 
 ; 
 import 
  
 java.security.GeneralSecurityException 
 ; 
 import 
  
 java.util.List 
 ; 
 import 
  
 net.sourceforge.argparse4j.ArgumentParsers 
 ; 
 import 
  
 net.sourceforge.argparse4j.inf.ArgumentParser 
 ; 
 import 
  
 net.sourceforge.argparse4j.inf.ArgumentParserException 
 ; 
 import 
  
 net.sourceforge.argparse4j.inf.Namespace 
 ; 
 /** 
 * This sample illustrates how to list finalized deals for a given bidder, their buyers, and 
 * clients. 
 */ 
 public 
  
 class 
 ListFinalizedDeals 
  
 { 
  
 public 
  
 static 
  
 void 
  
 execute 
 ( 
 AuthorizedBuyersMarketplace 
  
 marketplaceClient 
 , 
  
 Namespace 
  
 parsedArgs 
 ) 
  
 { 
  
 Long 
  
 accountId 
  
 = 
  
 parsedArgs 
 . 
 getLong 
 ( 
 "account_id" 
 ); 
  
 Integer 
  
 pageSize 
  
 = 
  
 parsedArgs 
 . 
 getInt 
 ( 
 "page_size" 
 ); 
  
 String 
  
 parentBidderName 
  
 = 
  
 String 
 . 
 format 
 ( 
 "bidders/%d" 
 , 
  
 accountId 
 ); 
  
 String 
  
 pageToken 
  
 = 
  
 null 
 ; 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Found finalized deals for bidder account ID '%d':%n" 
 , 
  
 accountId 
 ); 
  
 do 
  
 { 
  
 List<FinalizedDeal> 
  
 finalizedDeals 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 ListFinalizedDealsResponse 
  
 response 
  
 = 
  
 marketplaceClient 
  
 . 
 bidders 
 () 
  
 . 
 finalizedDeals 
 () 
  
 . 
 list 
 ( 
 parentBidderName 
 ) 
  
 . 
 setFilter 
 ( 
 parsedArgs 
 . 
 getString 
 ( 
 "filter" 
 )) 
  
 . 
 setOrderBy 
 ( 
 parsedArgs 
 . 
 getString 
 ( 
 "order_by" 
 )) 
  
 . 
 setPageSize 
 ( 
 pageSize 
 ) 
  
 . 
 setPageToken 
 ( 
 pageToken 
 ) 
  
 . 
 execute 
 (); 
  
 finalizedDeals 
  
 = 
  
 response 
 . 
 getFinalizedDeals 
 (); 
  
 pageToken 
  
 = 
  
 response 
 . 
 getNextPageToken 
 (); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Marketplace API returned error response:%n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 if 
  
 ( 
 finalizedDeals 
  
 == 
  
 null 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "No finalized deals found." 
 ); 
  
 } 
  
 else 
  
 { 
  
 for 
  
 ( 
 FinalizedDeal 
  
 finalizedDeal 
  
 : 
  
 finalizedDeals 
 ) 
  
 { 
  
 Utils 
 . 
 printFinalizedDeal 
 ( 
 finalizedDeal 
 ); 
  
 } 
  
 } 
  
 } 
  
 while 
  
 ( 
 pageToken 
  
 != 
  
 null 
 ); 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 { 
  
 ArgumentParser 
  
 parser 
  
 = 
  
 ArgumentParsers 
 . 
 newFor 
 ( 
 "ListFinalizedDeals" 
 ) 
  
 . 
 build 
 () 
  
 . 
 defaultHelp 
 ( 
 true 
 ) 
  
 . 
 description 
 (( 
 "Lists finalized deals associated with the given bidder account." 
 )); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-a" 
 , 
  
 "--account_id" 
 ) 
  
 . 
 help 
 ( 
  
 "The resource ID of the bidders resource under which the finalized deals are being" 
  
 + 
  
 " retrieved. This will be used to construct the parent used as a path parameter" 
  
 + 
  
 " for the finalizedDeals.list request." 
 ) 
  
 . 
 required 
 ( 
 true 
 ) 
  
 . 
 type 
 ( 
 Long 
 . 
 class 
 ); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-f" 
 , 
  
 "--filter" 
 ) 
  
 . 
 help 
 ( 
  
 "Query string to filter finalized deals. By default, this example will filter by " 
  
 + 
  
 "deal type to retrieve programmatic guaranteed deals to demonstrate usage." 
 ) 
  
 . 
 setDefault 
 ( 
 "deal.dealType = PROGRAMMATIC_GUARANTEED" 
 ); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-o" 
 , 
  
 "--order_by" 
 ) 
  
 . 
 help 
 ( 
  
 "Query string used to sort the response of the list method. By default, this " 
  
 + 
  
 "example will return deals in descending order of their flight start time to " 
  
 + 
  
 "demonstrate usage. To learn more about the syntax for this parameter, see: " 
  
 + 
  
 "https://cloud.google.com/apis/design/design_patterns#sorting_order" 
 ) 
  
 . 
 setDefault 
 ( 
 "deal.flightStartTime desc" 
 ); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-p" 
 , 
  
 "--page_size" 
 ) 
  
 . 
 help 
 ( 
  
 "The number of rows to return per page. The server may return fewer rows than " 
  
 + 
  
 "specified." 
 ) 
  
 . 
 setDefault 
 ( 
 Utils 
 . 
 getMaximumPageSize 
 ()) 
  
 . 
 type 
 ( 
 Integer 
 . 
 class 
 ); 
  
 Namespace 
  
 parsedArgs 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 parsedArgs 
  
 = 
  
 parser 
 . 
 parseArgs 
 ( 
 args 
 ); 
  
 } 
  
 catch 
  
 ( 
 ArgumentParserException 
  
 ex 
 ) 
  
 { 
  
 parser 
 . 
 handleError 
 ( 
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 AuthorizedBuyersMarketplace 
  
 client 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 client 
  
 = 
  
 Utils 
 . 
 getMarketplaceClient 
 (); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Unable to create Marketplace API service:%n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Did you specify a valid path to a service account key file?" 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 catch 
  
 ( 
 GeneralSecurityException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Unable to establish secure HttpTransport:%n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 execute 
 ( 
 client 
 , 
  
 parsedArgs 
 ); 
  
 } 
 } 

Python

 #!/usr/bin/python 
 # 
 # Copyright 2021 Google Inc. All Rights Reserved. 
 # 
 # Licensed under the Apache License, Version 2.0 (the "License"); 
 # you may not use this file except in compliance with the License. 
 # You may obtain a copy of the License at 
 # 
 #      http://www.apache.org/licenses/LICENSE-2.0 
 # 
 # Unless required by applicable law or agreed to in writing, software 
 # distributed under the License is distributed on an "AS IS" BASIS, 
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 # See the License for the specific language governing permissions and 
 # limitations under the License. 
 """Lists finalized deals for the given bidder, their buyers, and clients.""" 
 import 
  
 argparse 
 import 
  
 os 
 import 
  
 pprint 
 import 
  
 sys 
 sys 
 . 
 path 
 . 
 insert 
 ( 
 0 
 , 
 os 
 . 
 path 
 . 
 abspath 
 ( 
 '../../..' 
 )) 
 from 
  
 googleapiclient.errors 
  
 import 
 HttpError 
 import 
  
 util 
 _BIDDER_NAME_TEMPLATE 
 = 
 'bidders/ 
 %s 
 ' 
 DEFAULT_BIDDER_RESOURCE_ID 
 = 
 'ENTER_BIDDER_RESOURCE_ID_HERE' 
 def 
  
 main 
 ( 
 marketplace 
 , 
 args 
 ): 
 account_id 
 = 
 args 
 . 
 account_id 
 list_filter 
 = 
 args 
 . 
 filter 
 order_by 
 = 
 args 
 . 
 order_by 
 page_size 
 = 
 args 
 . 
 page_size 
 page_token 
 = 
 None 
 more_pages 
 = 
 True 
 print 
 ( 
 f 
 'Listing finalized deals for bidder account: " 
 { 
 account_id 
 } 
 ".' 
 ) 
 while 
 more_pages 
 : 
 try 
 : 
 # Construct and execute the request. 
 response 
 = 
 marketplace 
 . 
 bidders 
 () 
 . 
 finalizedDeals 
 () 
 . 
 list 
 ( 
 parent 
 = 
 _BIDDER_NAME_TEMPLATE 
 % 
 account_id 
 , 
 pageToken 
 = 
 page_token 
 , 
 filter 
 = 
 list_filter 
 , 
 orderBy 
 = 
 order_by 
 , 
 pageSize 
 = 
 page_size 
 ) 
 . 
 execute 
 () 
 except 
 HttpError 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 sys 
 . 
 exit 
 ( 
 1 
 ) 
 pprint 
 . 
 pprint 
 ( 
 response 
 ) 
 page_token 
 = 
 response 
 . 
 get 
 ( 
 'nextPageToken' 
 ) 
 more_pages 
 = 
 bool 
 ( 
 page_token 
 ) 
 if 
 __name__ 
 == 
 '__main__' 
 : 
 try 
 : 
 service 
 = 
 util 
 . 
 get_service 
 ( 
 version 
 = 
 'v1' 
 ) 
 except 
 IOError 
 as 
 ex 
 : 
 print 
 ( 
 f 
 'Unable to create marketplace service - 
 { 
 ex 
 } 
 ' 
 ) 
 print 
 ( 
 'Did you specify the key file in util.py?' 
 ) 
 sys 
 . 
 exit 
 ( 
 1 
 ) 
 parser 
 = 
 argparse 
 . 
 ArgumentParser 
 ( 
 description 
 = 
 ( 
 'Lists finalized deals for the given bidder account, its ' 
 'buyers, and clients.' 
 )) 
 # Required fields. 
 parser 
 . 
 add_argument 
 ( 
 '-a' 
 , 
 '--account_id' 
 , 
 default 
 = 
 DEFAULT_BIDDER_RESOURCE_ID 
 , 
 help 
 = 
 ( 
 'The resource ID of the bidders resource for which the finalized ' 
 'deals are being retrieved. This will be used to construct the ' 
 'parent used as a path parameter for the finalizedDeals.list ' 
 'request.' 
 )) 
 # Optional fields. 
 parser 
 . 
 add_argument 
 ( 
 '-f' 
 , 
 '--filter' 
 , 
 default 
 = 
 'deal.dealType = PROGRAMMATIC_GUARANTEED' 
 , 
 help 
 = 
 ( 
 'Query string to filter clients. By default, this example will ' 
 'filter by deal type to retrieve programmatic guaranteed deals ' 
 'to demonstrate usage.' 
 )) 
 parser 
 . 
 add_argument 
 ( 
 '-o' 
 , 
 '--order_by' 
 , 
 default 
 = 
 'deal.flightStartTime desc' 
 , 
 help 
 = 
 ( 
 'Query string used to sort the response of the list method. By ' 
 'default, this will return deals in descending order of their ' 
 'flight start time to demonstrate usage. To learn more about ' 
 'the syntax for this parameter, see: ' 
 'https://cloud.google.com/apis/design/design_patterns' 
 '#sorting_order' 
 )) 
 parser 
 . 
 add_argument 
 ( 
 '-p' 
 , 
 '--page_size' 
 , 
 default 
 = 
 util 
 . 
 MAX_PAGE_SIZE 
 , 
 help 
 = 
 ( 
 'The number of rows to return per page. The server may return ' 
 'fewer rows than specified.' 
 )) 
 main 
 ( 
 service 
 , 
 parser 
 . 
 parse_args 
 ()) 

List deals as buyer

You can use the buyers.finalizedDeals.list method to page through all finalized deals associated with your account or any of its clients.

The following sample demonstrates how you can list finalized deals with the list method.

REST

Request

GET https://authorizedbuyersmarketplace.googleapis.com/v1/buyers/12345678/finalizedDeals?filter=deal.dealType+%3D+PROGRAMMATIC_GUARANTEED&orderBy=deal.flightStartTime+desc&pageSize=3&alt=json
Authorization: Bearer ACCESS_TOKEN 
Content-Type: application/json

Response

{
 "finalizedDeals": [
   {
     "name": "buyers/12345678/finalizedDeals/2809704",
     "deal": {
       "name": "buyers/12345678/proposals/MP24462282/deals/2809704",
       "createTime": "2032-05-10T21:12:10.586Z",
       "updateTime": "2032-08-18T16:23:35.087Z",
       "displayName": "test-pg-deal-1",
       "buyer": "buyers/12345678",
       "publisherProfile": "buyers/12345678/publisherProfiles/PP62461",
       "flightStartTime": "2032-12-14T16:00:00Z",
       "flightEndTime": "2032-03-07T15:59:00Z",
       "targeting": {
         "inventorySizeTargeting": {
           "targetedInventorySizes": [
             {
               "width": "1",
               "height": "1",
               "type": "NATIVE"
             }
           ]
         }
       },
       "creativeRequirements": {
         "creativePreApprovalPolicy": "SELLER_PRE_APPROVAL_NOT_REQUIRED",
         "creativeSafeFrameCompatibility": "COMPATIBLE",
         "programmaticCreativeSource": "ADVERTISER",
         "creativeFormat": "DISPLAY"
       },
       "deliveryControl": {
         "deliveryRateType": "FRONT_LOADED"
       },
       "billedBuyer": "buyers/12345678",
       "dealType": "PROGRAMMATIC_GUARANTEED",
       "programmaticGuaranteedTerms": {
         "guaranteedLooks": "1000",
         "fixedPrice": {
           "type": "CPM",
           "amount": {
             "currencyCode": "CNY",
             "units": "20"
           }
         },
         "reservationType": "STANDARD"
       },
       "sellerTimeZone": {
         "id": "Asia/Shanghai"
       }
     },
     "dealServingStatus": "PAUSED_BY_SELLER",
     "dealPausingInfo": {
       "pausingConsented": true,
       "pauseRole": "SELLER"
     },
     "rtbMetrics": {}
   },
   {
     "name": "buyers/12345678/finalizedDeals/3853354",
     "deal": {
       "name": "buyers/12345678/proposals/MP75020085/deals/3853354",
       "createTime": "2031-05-08T15:03:25.212Z",
       "updateTime": "2031-05-08T15:18:34.329Z",
       "displayName": "test-pg-deal-5",
       "buyer": "buyers/12345678",
       "publisherProfile": "buyers/12345678/publisherProfiles/PP54321",
       "flightStartTime": "2032-12-13T16:00:00Z",
       "flightEndTime": "2033-03-06T15:59:00Z",
       "targeting": {
         "inventorySizeTargeting": {
           "targetedInventorySizes": [
             {
               "width": "1",
               "height": "1",
               "type": "NATIVE"
             }
           ]
         }
       },
       "creativeRequirements": {
         "creativePreApprovalPolicy": "SELLER_PRE_APPROVAL_NOT_REQUIRED",
         "creativeSafeFrameCompatibility": "COMPATIBLE",
         "programmaticCreativeSource": "ADVERTISER",
         "creativeFormat": "DISPLAY"
       },
       "deliveryControl": {
         "deliveryRateType": "FRONT_LOADED"
       },
       "billedBuyer": "buyers/12345678",
       "dealType": "PROGRAMMATIC_GUARANTEED",
       "programmaticGuaranteedTerms": {
         "guaranteedLooks": "1000",
         "fixedPrice": {
           "type": "CPM",
           "amount": {
             "currencyCode": "CNY",
             "units": "20"
           }
         },
         "reservationType": "STANDARD"
       },
       "sellerTimeZone": {
         "id": "Asia/Shanghai"
       }
     },
     "dealServingStatus": "ACTIVE",
     "dealPausingInfo": {
       "pausingConsented": true
     },
     "rtbMetrics": {},
     "readyToServe": true
   },
   {
     "name": "buyers/12345678/finalizedDeals/1840860",
     "deal": {
       "name": "buyers/12345678/proposals/MP8642048/deals/1840860",
       "createTime": "2031-03-26T05:53:33.053Z",
       "updateTime": "2031-03-26T05:54:33.442Z",
       "displayName": "test-pg-deal-4",
       "buyer": "buyers/12345678",
       "publisherProfile": "buyers/12345678/publisherProfiles/PP12345",
       "flightStartTime": "2032-03-31T16:00:00Z",
       "flightEndTime": "2032-03-31T18:59:00Z",
       "targeting": {
         "inventorySizeTargeting": {
           "targetedInventorySizes": [
             {
               "width": "200",
               "height": "200",
               "type": "PIXEL"
             },
             {
               "width": "234",
               "height": "60",
               "type": "PIXEL"
             },
             {
               "width": "240",
               "height": "400",
               "type": "PIXEL"
             },
             {
               "width": "300",
               "height": "250",
               "type": "PIXEL"
             },
             {
               "width": "300",
               "height": "600",
               "type": "PIXEL"
             },
             {
               "width": "300",
               "height": "1050",
               "type": "PIXEL"
             }
           ]
         }
       },
       "creativeRequirements": {
         "creativePreApprovalPolicy": "SELLER_PRE_APPROVAL_NOT_REQUIRED",
         "creativeSafeFrameCompatibility": "COMPATIBLE",
         "programmaticCreativeSource": "ADVERTISER",
         "creativeFormat": "DISPLAY"
       },
       "deliveryControl": {
         "deliveryRateType": "EVENLY"
       },
       "billedBuyer": "buyers/12345678",
       "dealType": "PROGRAMMATIC_GUARANTEED",
       "programmaticGuaranteedTerms": {
         "guaranteedLooks": "1",
         "fixedPrice": {
           "type": "CPM",
           "amount": {
             "currencyCode": "USD",
             "nanos": 10000000
           }
         },
         "reservationType": "STANDARD"
       },
       "sellerTimeZone": {
         "id": "Asia/Shanghai"
       }
     },
     "dealServingStatus": "ENDED",
     "dealPausingInfo": {
       "pausingConsented": true
     },
     "rtbMetrics": {},
     "readyToServe": false
   }
 ],
 "nextPageToken": "CAMQqbLfqKHx9gIYqbLfqKHx9gI="
}

C#

 /* Copyright 2022 Google LLC 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 
 using 
  
 Google.Apis.AuthorizedBuyersMarketplace.v1 
 ; 
 using 
  
 Google.Apis.AuthorizedBuyersMarketplace.v1.Data 
 ; 
 using 
  
 Mono.Options 
 ; 
 using 
  
 System 
 ; 
 using 
  
 System.Collections.Generic 
 ; 
 namespace 
  
 Google.Apis.AuthorizedBuyersMarketplace.Examples.v1.Buyers.FinalizedDeals 
 { 
  
 /// <summary> 
  
 /// Lists finalized deals for a given buyer and their clients. 
  
 /// </summary> 
  
 public 
  
 class 
  
 ListFinalizedDeals 
  
 : 
  
 ExampleBase 
  
 { 
  
 private 
  
 AuthorizedBuyersMarketplaceService 
  
 mkService 
 ; 
  
 /// <summary> 
  
 /// Constructor. 
  
 /// </summary> 
  
 public 
  
 ListFinalizedDeals 
 () 
  
 { 
  
 mkService 
  
 = 
  
 Utilities 
 . 
 GetAuthorizedBuyersMarketplaceService 
 (); 
  
 } 
  
 /// <summary> 
  
 /// Returns a description about the code example. 
  
 /// </summary> 
  
 public 
  
 override 
  
 string 
  
 Description 
  
 { 
  
 get 
  
 = 
>  
 "This code example lists finalized deals for a given buyer and their clients." 
 ; 
  
 } 
  
 /// <summary> 
  
 /// Parse specified arguments. 
  
 /// </summary> 
  
 protected 
  
 override 
  
 Dictionary<string 
 , 
  
 object 
>  
 ParseArguments 
 ( 
 List<string> 
  
 exampleArgs 
 ) 
  
 { 
  
 string 
 [] 
  
 requiredOptions 
  
 = 
  
 new 
  
 string 
 [] 
  
 { 
 "account_id" 
 }; 
  
 bool 
  
 showHelp 
  
 = 
  
 false 
 ; 
  
 string 
  
 accountId 
  
 = 
  
 null 
 ; 
  
 string 
  
 filter 
  
 = 
  
 null 
 ; 
  
 string 
  
 orderBy 
  
 = 
  
 null 
 ; 
  
 int? 
  
 pageSize 
  
 = 
  
 null 
 ; 
  
 string 
  
 defaultFilter 
  
 = 
  
 "deal.dealType = PROGRAMMATIC_GUARANTEED" 
 ; 
  
 string 
  
 defaultOrderBy 
  
 = 
  
 "deal.flightStartTime desc" 
 ; 
  
 OptionSet 
  
 options 
  
 = 
  
 new 
  
 OptionSet 
  
 { 
  
 "List finalized deals for the given buyer account and their clients." 
 , 
  
 { 
  
 "h|help" 
 , 
  
 "Show help message and exit." 
 , 
  
 h 
  
 = 
>  
 showHelp 
  
 = 
  
 h 
  
 != 
  
 null 
  
 }, 
  
 { 
  
 "a|account_id=" 
 , 
  
 ( 
 "[Required] The resource ID of the buyers resource under which the " 
  
 + 
  
 "finalized deals are being retrieved. This will be used to construct the " 
  
 + 
  
 "parent used as a path parameter for the finalizedDeals.list request." 
 ), 
  
 a 
  
 = 
>  
 accountId 
  
 = 
  
 a 
  
 }, 
  
 { 
  
 "f|filter=" 
 , 
  
 ( 
 "Query string to filter finalized deals. By default, this example will " 
  
 + 
  
 "fitler by deal type to retrieve programmatic guaranteed deals to " 
  
 + 
  
 "demonstrate usage." 
 ), 
  
 f 
  
 = 
>  
 filter 
  
 = 
  
 f 
  
 }, 
  
 { 
  
 "o|order_by=" 
 , 
  
 ( 
 "Query string used to sort the response of the list method. By default, " 
  
 + 
  
 "this example will return deals in descending order of their flight start " 
  
 + 
  
 "time to demonstrate usage. To learn more about the syntax for this " 
  
 + 
  
 "parameter, see: " 
  
 + 
  
 "https://cloud.google.com/apis/design/design_patterns#sorting_order" 
 ), 
  
 o 
  
 = 
>  
 orderBy 
  
 = 
  
 o 
  
 }, 
  
 { 
  
 "p|page_size=" 
 , 
  
 ( 
 "The number of rows to return per page. The server may return fewer rows " 
  
 + 
  
 "than specified." 
 ), 
  
 ( 
 int 
  
 p 
 ) 
  
 = 
>  
 pageSize 
  
 = 
  
 p 
  
 }, 
  
 }; 
  
 List<string> 
  
 extras 
  
 = 
  
 options 
 . 
 Parse 
 ( 
 exampleArgs 
 ); 
  
 var 
  
 parsedArgs 
  
 = 
  
 new 
  
 Dictionary<string 
 , 
  
 object 
> (); 
  
 // Show help message. 
  
 if 
  
 ( 
 showHelp 
  
 == 
  
 true 
 ) 
  
 { 
  
 options 
 . 
 WriteOptionDescriptions 
 ( 
 Console 
 . 
 Out 
 ); 
  
 Environment 
 . 
 Exit 
 ( 
 0 
 ); 
  
 } 
  
 // Set arguments. 
  
 parsedArgs 
 [ 
 "account_id" 
 ] 
  
 = 
  
 accountId 
 ; 
  
 parsedArgs 
 [ 
 "filter" 
 ] 
  
 = 
  
 filter 
  
 ?? 
  
 defaultFilter 
 ; 
  
 parsedArgs 
 [ 
 "order_by" 
 ] 
  
 = 
  
 orderBy 
  
 ?? 
  
 defaultOrderBy 
 ; 
  
 parsedArgs 
 [ 
 "pageSize" 
 ] 
  
 = 
  
 pageSize 
  
 ?? 
  
 Utilities 
 . 
 MAX_PAGE_SIZE 
 ; 
  
 // Validate that options were set correctly. 
  
 Utilities 
 . 
 ValidateOptions 
 ( 
 options 
 , 
  
 parsedArgs 
 , 
  
 requiredOptions 
 , 
  
 extras 
 ); 
  
 return 
  
 parsedArgs 
 ; 
  
 } 
  
 /// <summary> 
  
 /// Run the example. 
  
 /// </summary> 
  
 /// <param name="parsedArgs">Parsed arguments for the example.</param> 
  
 protected 
  
 override 
  
 void 
  
 Run 
 ( 
 Dictionary<string 
 , 
  
 object 
>  
 parsedArgs 
 ) 
  
 { 
  
 string 
  
 accountId 
  
 = 
  
 ( 
 string 
 ) 
  
 parsedArgs 
 [ 
 "account_id" 
 ]; 
  
 string 
  
 parent 
  
 = 
  
 $"buyers/{accountId}" 
 ; 
  
 string 
  
 pageToken 
  
 = 
  
 null 
 ; 
  
 Console 
 . 
 WriteLine 
 ( 
 @"Listing finalized deals for buyer account ""{0}""" 
 , 
  
 parent 
 ); 
  
 do 
  
 { 
  
 BuyersResource 
 . 
 FinalizedDealsResource 
 . 
 ListRequest 
  
 request 
  
 = 
  
 mkService 
 . 
 Buyers 
 . 
 FinalizedDeals 
 . 
 List 
 ( 
 parent 
 ); 
  
 request 
 . 
 Filter 
  
 = 
  
 ( 
 string 
 ) 
  
 parsedArgs 
 [ 
 "filter" 
 ]; 
  
 request 
 . 
 OrderBy 
  
 = 
  
 ( 
 string 
 ) 
  
 parsedArgs 
 [ 
 "order_by" 
 ]; 
  
 request 
 . 
 PageSize 
  
 = 
  
 ( 
 int 
 ) 
  
 parsedArgs 
 [ 
 "pageSize" 
 ]; 
  
 request 
 . 
 PageToken 
  
 = 
  
 pageToken 
 ; 
  
 ListFinalizedDealsResponse 
  
 page 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 page 
  
 = 
  
 request 
 . 
 Execute 
 (); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 exception 
 ) 
  
 { 
  
 throw 
  
 new 
  
 ApplicationException 
 ( 
  
 $"Marketplace API returned error response:\n{exception.Message}" 
 ); 
  
 } 
  
 var 
  
 finalizedDeals 
  
 = 
  
 page 
 . 
 FinalizedDeals 
 ; 
  
 pageToken 
  
 = 
  
 page 
 . 
 NextPageToken 
 ; 
  
 if 
  
 ( 
 finalizedDeals 
  
 == 
  
 null 
 ) 
  
 { 
  
 Console 
 . 
 WriteLine 
 ( 
 "No finalized deals found for buyer account." 
 ); 
  
 } 
  
 else 
  
 { 
  
 foreach 
  
 ( 
 FinalizedDeal 
  
 finalizedDeal 
  
 in 
  
 finalizedDeals 
 ) 
  
 { 
  
 Utilities 
 . 
 PrintFinalizedDeal 
 ( 
 finalizedDeal 
 ); 
  
 } 
  
 } 
  
 } 
  
 while 
 ( 
 pageToken 
  
 != 
  
 null 
 ); 
  
 } 
  
 } 
 } 

Java

 /* 
 * Copyright 2022 Google LLC 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *    https://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 
 package 
  
 com.google.api.services.samples.authorizedbuyers.marketplace.v1.buyers.finalizedDeals 
 ; 
 import 
  
 com.google.api.services.authorizedbuyersmarketplace.v1.AuthorizedBuyersMarketplace 
 ; 
 import 
  
 com.google.api.services.authorizedbuyersmarketplace.v1.model.FinalizedDeal 
 ; 
 import 
  
 com.google.api.services.authorizedbuyersmarketplace.v1.model.ListFinalizedDealsResponse 
 ; 
 import 
  
 com.google.api.services.samples.authorizedbuyers.marketplace.Utils 
 ; 
 import 
  
 java.io.IOException 
 ; 
 import 
  
 java.security.GeneralSecurityException 
 ; 
 import 
  
 java.util.List 
 ; 
 import 
  
 net.sourceforge.argparse4j.ArgumentParsers 
 ; 
 import 
  
 net.sourceforge.argparse4j.inf.ArgumentParser 
 ; 
 import 
  
 net.sourceforge.argparse4j.inf.ArgumentParserException 
 ; 
 import 
  
 net.sourceforge.argparse4j.inf.Namespace 
 ; 
 /** This sample illustrates how to list finalized deals for a given buyer and their clients. */ 
 public 
  
 class 
 ListFinalizedDeals 
  
 { 
  
 public 
  
 static 
  
 void 
  
 execute 
 ( 
 AuthorizedBuyersMarketplace 
  
 marketplaceClient 
 , 
  
 Namespace 
  
 parsedArgs 
 ) 
  
 { 
  
 Long 
  
 accountId 
  
 = 
  
 parsedArgs 
 . 
 getLong 
 ( 
 "account_id" 
 ); 
  
 Integer 
  
 pageSize 
  
 = 
  
 parsedArgs 
 . 
 getInt 
 ( 
 "page_size" 
 ); 
  
 String 
  
 parentBuyerName 
  
 = 
  
 String 
 . 
 format 
 ( 
 "buyers/%d" 
 , 
  
 accountId 
 ); 
  
 String 
  
 pageToken 
  
 = 
  
 null 
 ; 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Found finalized deals for buyer account ID '%d':%n" 
 , 
  
 accountId 
 ); 
  
 do 
  
 { 
  
 List<FinalizedDeal> 
  
 finalizedDeals 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 ListFinalizedDealsResponse 
  
 response 
  
 = 
  
 marketplaceClient 
  
 . 
 buyers 
 () 
  
 . 
 finalizedDeals 
 () 
  
 . 
 list 
 ( 
 parentBuyerName 
 ) 
  
 . 
 setFilter 
 ( 
 parsedArgs 
 . 
 getString 
 ( 
 "filter" 
 )) 
  
 . 
 setOrderBy 
 ( 
 parsedArgs 
 . 
 getString 
 ( 
 "order_by" 
 )) 
  
 . 
 setPageSize 
 ( 
 pageSize 
 ) 
  
 . 
 setPageToken 
 ( 
 pageToken 
 ) 
  
 . 
 execute 
 (); 
  
 finalizedDeals 
  
 = 
  
 response 
 . 
 getFinalizedDeals 
 (); 
  
 pageToken 
  
 = 
  
 response 
 . 
 getNextPageToken 
 (); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Marketplace API returned error response:%n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 if 
  
 ( 
 finalizedDeals 
  
 == 
  
 null 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "No finalized deals found." 
 ); 
  
 } 
  
 else 
  
 { 
  
 for 
  
 ( 
 FinalizedDeal 
  
 finalizedDeal 
  
 : 
  
 finalizedDeals 
 ) 
  
 { 
  
 Utils 
 . 
 printFinalizedDeal 
 ( 
 finalizedDeal 
 ); 
  
 } 
  
 } 
  
 } 
  
 while 
  
 ( 
 pageToken 
  
 != 
  
 null 
 ); 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 { 
  
 ArgumentParser 
  
 parser 
  
 = 
  
 ArgumentParsers 
 . 
 newFor 
 ( 
 "ListFinalizedDeals" 
 ) 
  
 . 
 build 
 () 
  
 . 
 defaultHelp 
 ( 
 true 
 ) 
  
 . 
 description 
 (( 
 "Lists finalized deals associated with the given buyer account." 
 )); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-a" 
 , 
  
 "--account_id" 
 ) 
  
 . 
 help 
 ( 
  
 "The resource ID of the buyers resource under which the finalized deals are being" 
  
 + 
  
 " retrieved. This will be used to construct the parent used as a path parameter" 
  
 + 
  
 " for the finalizedDeals.list request." 
 ) 
  
 . 
 required 
 ( 
 true 
 ) 
  
 . 
 type 
 ( 
 Long 
 . 
 class 
 ); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-f" 
 , 
  
 "--filter" 
 ) 
  
 . 
 help 
 ( 
  
 "Query string to filter finalized deals. By default, this example will filter by " 
  
 + 
  
 "deal type to retrieve programmatic guaranteed deals to demonstrate usage." 
 ) 
  
 . 
 setDefault 
 ( 
 "deal.dealType = PROGRAMMATIC_GUARANTEED" 
 ); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-o" 
 , 
  
 "--order_by" 
 ) 
  
 . 
 help 
 ( 
  
 "Query string used to sort the response of the list method. By default, this " 
  
 + 
  
 "example will return deals in descending order of their flight start time to " 
  
 + 
  
 "demonstrate usage. To learn more about the syntax for this parameter, see: " 
  
 + 
  
 "https://cloud.google.com/apis/design/design_patterns#sorting_order" 
 ) 
  
 . 
 setDefault 
 ( 
 "deal.flightStartTime desc" 
 ); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-p" 
 , 
  
 "--page_size" 
 ) 
  
 . 
 help 
 ( 
  
 "The number of rows to return per page. The server may return fewer rows than " 
  
 + 
  
 "specified." 
 ) 
  
 . 
 setDefault 
 ( 
 Utils 
 . 
 getMaximumPageSize 
 ()) 
  
 . 
 type 
 ( 
 Integer 
 . 
 class 
 ); 
  
 Namespace 
  
 parsedArgs 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 parsedArgs 
  
 = 
  
 parser 
 . 
 parseArgs 
 ( 
 args 
 ); 
  
 } 
  
 catch 
  
 ( 
 ArgumentParserException 
  
 ex 
 ) 
  
 { 
  
 parser 
 . 
 handleError 
 ( 
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 AuthorizedBuyersMarketplace 
  
 client 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 client 
  
 = 
  
 Utils 
 . 
 getMarketplaceClient 
 (); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Unable to create Marketplace API service:%n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Did you specify a valid path to a service account key file?" 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 catch 
  
 ( 
 GeneralSecurityException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Unable to establish secure HttpTransport:%n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 execute 
 ( 
 client 
 , 
  
 parsedArgs 
 ); 
  
 } 
 } 

Python

 #!/usr/bin/python 
 # 
 # Copyright 2021 Google Inc. All Rights Reserved. 
 # 
 # Licensed under the Apache License, Version 2.0 (the "License"); 
 # you may not use this file except in compliance with the License. 
 # You may obtain a copy of the License at 
 # 
 #      http://www.apache.org/licenses/LICENSE-2.0 
 # 
 # Unless required by applicable law or agreed to in writing, software 
 # distributed under the License is distributed on an "AS IS" BASIS, 
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 # See the License for the specific language governing permissions and 
 # limitations under the License. 
 """Lists finalized deals for the given buyers and their clients.""" 
 import 
  
 argparse 
 import 
  
 os 
 import 
  
 pprint 
 import 
  
 sys 
 sys 
 . 
 path 
 . 
 insert 
 ( 
 0 
 , 
 os 
 . 
 path 
 . 
 abspath 
 ( 
 '../../..' 
 )) 
 from 
  
 googleapiclient.errors 
  
 import 
 HttpError 
 import 
  
 util 
 _BUYER_NAME_TEMPLATE 
 = 
 'buyers/ 
 %s 
 ' 
 DEFAULT_BUYER_RESOURCE_ID 
 = 
 'ENTER_BUYER_RESOURCE_ID_HERE' 
 def 
  
 main 
 ( 
 marketplace 
 , 
 args 
 ): 
 account_id 
 = 
 args 
 . 
 account_id 
 list_filter 
 = 
 args 
 . 
 filter 
 order_by 
 = 
 args 
 . 
 order_by 
 page_size 
 = 
 args 
 . 
 page_size 
 page_token 
 = 
 None 
 more_pages 
 = 
 True 
 print 
 ( 
 f 
 'Listing finalized deals for buyer account: " 
 { 
 account_id 
 } 
 ".' 
 ) 
 while 
 more_pages 
 : 
 try 
 : 
 # Construct and execute the request. 
 response 
 = 
 marketplace 
 . 
 buyers 
 () 
 . 
 finalizedDeals 
 () 
 . 
 list 
 ( 
 parent 
 = 
 _BUYER_NAME_TEMPLATE 
 % 
 account_id 
 , 
 pageToken 
 = 
 page_token 
 , 
 filter 
 = 
 list_filter 
 , 
 orderBy 
 = 
 order_by 
 , 
 pageSize 
 = 
 page_size 
 ) 
 . 
 execute 
 () 
 except 
 HttpError 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 sys 
 . 
 exit 
 ( 
 1 
 ) 
 pprint 
 . 
 pprint 
 ( 
 response 
 ) 
 page_token 
 = 
 response 
 . 
 get 
 ( 
 'nextPageToken' 
 ) 
 more_pages 
 = 
 bool 
 ( 
 page_token 
 ) 
 if 
 __name__ 
 == 
 '__main__' 
 : 
 try 
 : 
 service 
 = 
 util 
 . 
 get_service 
 ( 
 version 
 = 
 'v1' 
 ) 
 except 
 IOError 
 as 
 ex 
 : 
 print 
 ( 
 f 
 'Unable to create marketplace service - 
 { 
 ex 
 } 
 ' 
 ) 
 print 
 ( 
 'Did you specify the key file in util.py?' 
 ) 
 sys 
 . 
 exit 
 ( 
 1 
 ) 
 parser 
 = 
 argparse 
 . 
 ArgumentParser 
 ( 
 description 
 = 
 ( 
 'Lists finalized deals for the given buyer account and ' 
 'its clients.' 
 )) 
 # Required fields. 
 parser 
 . 
 add_argument 
 ( 
 '-a' 
 , 
 '--account_id' 
 , 
 default 
 = 
 DEFAULT_BUYER_RESOURCE_ID 
 , 
 help 
 = 
 ( 
 'The resource ID of the buyers resource for which the finalized ' 
 'deals are being retrieved. This will be used to construct the ' 
 'parent used as a path parameter for the finalizedDeals.list ' 
 'request.' 
 )) 
 # Optional fields. 
 parser 
 . 
 add_argument 
 ( 
 '-f' 
 , 
 '--filter' 
 , 
 default 
 = 
 'deal.dealType = PROGRAMMATIC_GUARANTEED' 
 , 
 help 
 = 
 ( 
 'Query string to filter clients. By default, this example will ' 
 'filter by deal type to retrieve programmatic guaranteed deals ' 
 'to demonstrate usage.' 
 )) 
 parser 
 . 
 add_argument 
 ( 
 '-o' 
 , 
 '--order_by' 
 , 
 default 
 = 
 'deal.flightStartTime desc' 
 , 
 help 
 = 
 ( 
 'Query string used to sort the response of the list method. By ' 
 'default, this will return deals in descending order of their ' 
 'flight start time to demonstrate usage. To learn more about ' 
 'the syntax for this parameter, see: ' 
 'https://cloud.google.com/apis/design/design_patterns' 
 '#sorting_order' 
 )) 
 parser 
 . 
 add_argument 
 ( 
 '-p' 
 , 
 '--page_size' 
 , 
 default 
 = 
 util 
 . 
 MAX_PAGE_SIZE 
 , 
 help 
 = 
 ( 
 'The number of rows to return per page. The server may return ' 
 'fewer rows than specified.' 
 )) 
 main 
 ( 
 service 
 , 
 parser 
 . 
 parse_args 
 ()) 
Design a Mobile Site
View Site in Mobile | Classic
Share by: