Wednesday, 6 April 2016

UNEXPECTED_INTERNAL_API_ERROR - Ad Customizers - mutate


Based on the v201509 of Adwords API with dotnet and C#, I'm having an UNEXPECTED_INTERNAL_API_ERROR exception when I'm calling the mutate method.

The mutate call executes (only) one operation which is supposed to edit the ad customizer feed name. The exception is thrown between 2 and 5 times, then the instruction is executed 'normally'.

The same problem happens when I'm trying to add a new column to the ad customizer feed.

I read the documentation about UNEXPECTED_INTERNAL_API_ERROR. I'm suprised google ask us to re-execute the operation with a delay but this is not an option for us...

I guess this issue is well known since it appears in the documentation.

Do you plan to fix it? Do you have a solution to prevent it before it happens?

My code (check the attachment for a pretty view of this code + the exception detail) :

            AdCustomizerFeedService adCustomizerFeedService = (AdCustomizerFeedService)user.GetService(AdWordsService.v201509.AdCustomizerFeedService);

            Selector selector = new Selector
            {
                fields = new string[] { AdCustomizerFeed.Fields.FeedAttributes, AdCustomizerFeed.Fields.FeedId, AdCustomizerFeed.Fields.FeedName, AdCustomizerFeed.Fields.FeedStatus },
                predicates = new Predicate[] {
                    Predicate.Contains( AdCustomizerFeed.FilterableFields.FeedName, "MegaPromo"),
                    Predicate.Equals( AdCustomizerFeed.FilterableFields.FeedStatus, FeedStatus.ENABLED.ToString())
                }
            };

            AdCustomizerFeedPage page = adCustomizerFeedService.get(selector);

            if (page != null && page.entries != null && page.entries.Count() > 0)
            {
                AdCustomizerFeed adCustomizerFeed = page.entries[0];

                adCustomizerFeed.feedName = adCustomizerFeed.feedName + "|Edited ";

                AdCustomizerFeedOperation operation = new AdCustomizerFeedOperation
                {
                    operand = adCustomizerFeed,
                    @operator = Operator.SET,
                };

                AdCustomizerFeedReturnValue mutateResult = adCustomizerFeedService.mutate(new AdCustomizerFeedOperation[] { operation });

            }

Thanks for your support.

Regards.


--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
 
You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscribe@googlegroups.com
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 Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/5914df17-51c9-4aea-83cd-ea122892c180%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment