I already have a campaign budget which i want to update using google AdWords API.

   BudgetServiceInterface budgetService =         adWordsServices.get(session, BudgetServiceInterface.class);     // Create a budget, which can be shared by multiple campaigns.     Budget sharedBudget = new Budget();     sharedBudget.setName("Interplanetary Cruise #" + System.currentTimeMillis());     Money budgetAmount = new Money();     budgetAmount.setMicroAmount(50_000_000L);     sharedBudget.setAmount(budgetAmount);     sharedBudget.setDeliveryMethod(BudgetBudgetDeliveryMethod.STANDARD);     BudgetOperation budgetOperation = new BudgetOperation();     budgetOperation.setOperand(sharedBudget);     budgetOperation.setOperator(Operator.ADD);     // Add the budget     Long budgetId =         budgetService.mutate(new BudgetOperation[] {budgetOperation}).getValue(0).getBudgetId();     // Get the CampaignService.     CampaignServiceInterface campaignService =         adWordsServices.get(session, CampaignServiceInterface.class); 

Assiging budgetId to campaign

    Budget budget = new Budget();     budget.setBudgetId(budgetId);     campaign.setBudget(budget); 

This will unassign existing campaign budget and assign new campaign budget to the campaign ( campaign budget is not removed and it still exist in google ads) but I want to update the budget name and budget amount of existing campaign budget rather than assigning new campaign budget.

Tag:google-ads-api, google-api, adwords-budgetservice, google-api-java-client

Only one comment.

  1. subinpvasu

    Use BudgetService to do it. you can find more details in the documentation

    $budget = new Budget(); $budget->setBudgetId(BUDGET_ID); $budget->setStatus(BudgetBudgetStatus::REMOVED); $operation = new BudgetOperation(); $operation->setOperand($budget); $operation->setOperator(Operator::SET); $operations[] = $operation;

Add a new comment.