Weird Sitelink update problem

33 views
Skip to first unread message

Sylvain Beauregard

unread,
Oct 10, 2017, 7:21:04 AM10/10/17
to AdWords API Forum
Hi!

Lately, I noticed my code to update ad extensions stopped working... I'm not sure if it happened after a change of release or at another time.

Language: PHP (5.6.1 and also tried with 7.1.10 on another server)
Library version: 19 (we're in the process of migrating to version 30 by the end of the year)
Revision: 201705

Problem:
The code I built to update a sitelink (and other existing ad extensions in fact) is not working anymore.  I mean I create the operation, send it to the FeedItemService and I get a reply without any error... but it doesn't have all the information I sent.  For Sitelinks, it doesn't retain the destinationURLs information... thus making the SiteLink invalid and unusuable.  Same thing happens when I try to create a new Sitelink... it provides me back with a FeedItemReturnValue object... with a FeedItemID but without DestinationURLs (which in my opinion is weird because how could it successfully generate an ID for an object that in its opinion is missing a required field?).

Here's an example of the FeedItemOperation object I send to the service (altered the string contents, but not anything else - all strngs really used are valid, free of any illegal characters and encoded in UTF8 of course):

Array
(
    [0] => FeedItemOperation Object
        (
            [operand] => FeedItem Object
                (
                    [feedId] => 99999999
                    [feedItemId] => 888888888888
                    [status] => 
                    [startTime] => 
                    [endTime] => 
                    [attributeValues] => Array
                        (
                            [0] => FeedItemAttributeValue Object
                                (
                                    [feedAttributeId] => 1
                                    [integerValue] => 
                                    [doubleValue] => 
                                    [booleanValue] => 
                                    [stringValue] => Hello
                                    [integerValues] => 
                                    [doubleValues] => 
                                    [booleanValues] => 
                                    [stringValues] => 
                                    [moneyWithCurrencyValue] => 
                                )

                            [1] => FeedItemAttributeValue Object
                                (
                                    [feedAttributeId] => 5
                                    [integerValue] => 
                                    [doubleValue] => 
                                    [booleanValue] => 
                                    [stringValue] => 
                                    [integerValues] => 
                                    [doubleValues] => 
                                    [booleanValues] => 
                                    [stringValues] => Array
                                        (
                                            [0] => https://www.abc.ca/FinancePreQualForm
                                        )

                                    [moneyWithCurrencyValue] => 
                                )

                            [2] => FeedItemAttributeValue Object
                                (
                                    [feedAttributeId] => 3
                                    [integerValue] => 
                                    [doubleValue] => 
                                    [booleanValue] => 
                                    [stringValue] => 1,2,3 Go
                                    [integerValues] => 
                                    [doubleValues] => 
                                    [booleanValues] => 
                                    [stringValues] => 
                                    [moneyWithCurrencyValue] => 
                                )

                            [3] => FeedItemAttributeValue Object
                                (
                                    [feedAttributeId] => 4
                                    [integerValue] => 
                                    [doubleValue] => 
                                    [booleanValue] => 
                                    [stringValue] => bla bla bla!
                                    [integerValues] => 
                                    [doubleValues] => 
                                    [booleanValues] => 
                                    [stringValues] => 
                                    [moneyWithCurrencyValue] => 
                                )

                        )

                    [policyData] => 
                    [devicePreference] => 
                    [scheduling] => 
                    [campaignTargeting] => 
                    [adGroupTargeting] => 
                    [keywordTargeting] => 
                    [geoTargeting] => 
                    [geoTargetingRestriction] => 
                    [urlCustomParameters] => 
                )

            [operator] => SET
            [OperationType] => 
            [_parameterMap:Operation:private] => Array
                (
                    [Operation.Type] => OperationType
                )

        )

)

Notice the presence of the AttributeValue[1] regarding the Destination_URLs info.

In response, I do get the following object back:

FeedItemReturnValue Object ( [value] => Array ( [0] => FeedItem Object ( [feedId] => 9999999 [feedItemId] => 88888888 [status] => ENABLED [startTime] => [endTime] => [attributeValues] => Array ( [0] => FeedItemAttributeValue Object ( [feedAttributeId] => 1 [integerValue] => [doubleValue] => [booleanValue] => [stringValue] => Hello [integerValues] => [doubleValues] => [booleanValues] => [stringValues] => [moneyWithCurrencyValue] => ) [1] => FeedItemAttributeValue Object ( [feedAttributeId] => 3 [integerValue] => [doubleValue] => [booleanValue] => [stringValue] => 1,2,3 Go [integerValues] => [doubleValues] => [booleanValues] => [stringValues] => [moneyWithCurrencyValue] => ) [2] => FeedItemAttributeValue Object ( [feedAttributeId] => 4 [integerValue] => [doubleValue] => [booleanValue] => [stringValue] => bla bla bla! [integerValues] => [doubleValues] => [booleanValues] => [stringValues] => [moneyWithCurrencyValue] => ) ) [policyData] => [devicePreference] => [scheduling] => [campaignTargeting] => [adGroupTargeting] => [keywordTargeting] => [geoTargeting] => [geoTargetingRestriction] => [urlCustomParameters] => ) ) [partialFailureErrors] => [ListReturnValueType] => FeedItemReturnValue [_parameterMap:ListReturnValue:private] => Array ( [ListReturnValue.Type] => ListReturnValueType ) )

Notice the absence of the Destination_URLs info... and the absence of error too.

What am I missing?

Thanks,

Sylvain
Reply all
Reply to author
Forward
0 new messages