I figure out the issue.
But why it is not allowed?
"partialFailureError":{"code":3,"message":"A mutate action is not allowed
on this campaign, from this client., at
operations[0]","details":[{"@type":"type.googleapis.com/google.ads.googleads.v6.errors.GoogleAdsFailure","errors":[{"errorCode":{"operationAccessDeniedError":"MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT"},"message":"A
mutate action is not allowed on this campaign, from this
client.","trigger":{"stringValue":"VIDEO"},"location":{"fieldPathElements":[{"fieldName":"operations","index":0}]}}]}]}}
Thanks
On Thursday, March 4, 2021 at 11:35:57 PM UTC+5:30 Google Ads API Explorer
wrote:
> Thanks for sharing your worked code.
>
> My PHP code is seems to be same but I am not able to pause the placement?
> neither giving me any error.
>
> @anthony if you could help?
>
> Thanks,
>
>
> On Thursday, March 4, 2021 at 11:24:51 PM UTC+5:30 [email protected]
> wrote:
>
>> I have a python example and that worked for me to pause the placement.
>> +++++++++++++++++++
>> def pause_placement (client, customer_id, ad_group_id, criterion_id):
>>
>> agc_service = client.get_service("AdGroupCriterionService", version="v6")
>>
>> ad_group_criterion_operation = client.get_type(
>> "AdGroupCriterionOperation", version="v6"
>> )
>>
>> ad_group_criterion = ad_group_criterion_operation.update
>> ad_group_criterion.resource_name = agc_service.ad_group_criteria_path(
>>
>> customer_id, ResourceName.format_composite(ad_group_id, criterion_id)
>> )
>> ad_group_criterion.status = client.get_type(
>> "AdGroupCriterionStatusEnum", version="v6"
>> ).PAUSED
>>
>> fm = protobuf_helpers.field_mask(None, ad_group_criterion)
>> ad_group_criterion_operation.update_mask.CopyFrom(fm)
>>
>> try:
>> agc_response = agc_service.mutate_ad_group_criteria(
>> customer_id, [ad_group_criterion_operation]
>> )
>> except google.ads.google_ads.errors.GoogleAdsException as ex:
>> print(
>>
>> 'Request with ID "%s" failed with status "%s" and includes the '
>> "following errors:" % (ex.request_id, ex.error.code().name)
>> )
>> for error in ex.failure.errors:
>> print('\tError with message "%s".' % error.message)
>> if error.location:
>>
>> for field_path_element in error.location.field_path_elements:
>>
>> print("\t\tOn field: %s" % field_path_element.field_name)
>> sys.exit(1)
>>
>>
>> print("Updated placement status %s." %
>> agc_response.results[0].resource_name)
>>
>>
>>
>>
>> On Thursday, March 4, 2021 at 10:30:53 PM UTC+5 Google Ads API Explorer
>> wrote:
>>
>>> @anthony,
>>>
>>> I did this but not able to pause the placements
>>>
>>> $adGroupCriterion = new AdGroupCriterion([
>>>
>>> 'resource_name' => ResourceNames::forAdGroupCriterion(
>>> $customerId,
>>> $adGroupId,
>>> $placementcriterionId
>>> ),
>>> 'status' => AdGroupCriterionStatus::PAUSED
>>> ]);
>>>
>>>
>>>
>>> $adGroupCriterionOperation = new
>>> AdGroupCriterionOperation();
>>> $adGroupCriterionOperation->setUpdate($adGroupCriterion);
>>>
>>>
>>> $adGroupCriterionOperation->setUpdateMask(FieldMasks::allSetFieldsOf($adGroupCriterion));
>>>
>>>
>>> // Issues a mutate request to update the ad group criterion.
>>>
>>> $adGroupCriterionServiceClient =
>>> $googleAdsClient->getAdGroupCriterionServiceClient();
>>>
>>> $response =
>>> $adGroupCriterionServiceClient->mutateAdGroupCriteria(
>>> $customerId,
>>> [$adGroupCriterionOperation]
>>> );
>>>
>>>
>>> On Thursday, March 4, 2021 at 10:01:52 PM UTC+5:30 Google Ads API
>>> Explorer wrote:
>>>
>>>> Can I pause placement using CampaignCriterion or AdGroupCriterion
>>>> service ?
>>>>
>>>> On Thursday, March 4, 2021 at 9:22:53 PM UTC+5:30 adsapiforumadvisor
>>>> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> Unfortunately, we don't have an example on how to pause placements.
>>>>> However, you can use this example
>>>>> <https://developers.google.com/google-ads/api/docs/samples/update-keyword#python>
>>>>>
>>>>> as a reference. This example shows how to enable a keyword using
>>>>> AdGroupCriterionService. You will need to modify it to use PAUSED and the
>>>>> Id of your placements.
>>>>>
>>>>> Cheers,
>>>>> Anthony
>>>>>
>>>>> [image: Google Logo]
>>>>> Anthony
>>>>> Google Ads API Team
>>>>>
>>>>>
>>>>> ref:_00D1U1174p._5004Q2DKpxV:ref
>>>>>
>>>>
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/adwords-api/6d4af129-3c4c-48ba-a9bb-f0d3df261871n%40googlegroups.com.