Hi Josh, I was trying this out on a non-test account. Here is the request and response. I created and deleted the feed today so maybe that explains it? I did play around with the dateTimeRange and tried using a window that would only have the feed item deletion but had no luck. The feed item was removed at 13:57:44 GMT and the requestId from the SOAP response is 0004ff04f52197300a4c12456c007ded. Let me know if you need additional information.
*CustomerSyncService Request:* <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="https://adwords.google.com/api/adwords/ch/v201406" xmlns:v201="https://adwords.google.com/api/adwords/cm/v201406"> <soapenv:Header> <v20:RequestHeader> <v201:clientCustomerId>848-879-3985</v201:clientCustomerId> <v201:developerToken>*****</v201:developerToken> <v201:userAgent>*****</v201:userAgent> <v201:validateOnly>false</v201:validateOnly> <v201:partialFailure>false</v201:partialFailure> </v20:RequestHeader> </soapenv:Header> <soapenv:Body> <v20:get> <v20:selector> <v20:dateTimeRange> <v201:min>20140725 000000 UTC</v201:min> <v201:max>20140725 235959 UTC</v201:max> </v20:dateTimeRange> <v20:campaignIds>209752968</v20:campaignIds> <v20:feedIds>18907067</v20:feedIds> </v20:selector> </v20:get> </soapenv:Body> </soapenv:Envelope> *CustomerSyncService Response:* <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <ns2:ResponseHeader xmlns:ns2="https://adwords.google.com/api/adwords/ch/v201406" xmlns="https://adwords.google.com/api/adwords/cm/v201406"> <requestId>0004ff07bb17c9f80a42bfa2a60010b4</requestId> <serviceName>CustomerSyncService</serviceName> <methodName>get</methodName> <operations>0</operations> <responseTime>223</responseTime> </ns2:ResponseHeader> </soap:Header> <soap:Body> <ns2:getResponse xmlns="https://adwords.google.com/api/adwords/cm/v201406" xmlns:ns2="https://adwords.google.com/api/adwords/ch/v201406"> <ns2:rval> <ns2:changedCampaigns> <ns2:campaignId>209752968</ns2:campaignId> <ns2:campaignChangeStatus>FIELDS_UNCHANGED</ns2:campaignChangeStatus> <ns2:removedFeeds>18907067</ns2:removedFeeds> <ns2:campaignTargetingChanged>false</ns2:campaignTargetingChanged> </ns2:changedCampaigns> <ns2:changedFeeds> <ns2:feedId>18907067</ns2:feedId> <ns2:feedChangeStatus>FIELDS_UNCHANGED</ns2:feedChangeStatus> </ns2:changedFeeds> <ns2:lastChangeTimestamp>20140725 143508 UTC</ns2:lastChangeTimestamp> </ns2:rval> </ns2:getResponse> </soap:Body> </soap:Envelope> When I make a call to FeedItemService to get the feed items I see that one is removed: *FeedItemService Request:* <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="https://adwords.google.com/api/adwords/cm/v201406"> <soapenv:Header> <v20:RequestHeader> <v20:clientCustomerId>848-879-3985</v20:clientCustomerId> <v20:developerToken>*****</v20:developerToken> <v20:userAgent>*****</v20:userAgent> <v20:validateOnly>false</v20:validateOnly> <v20:partialFailure>true</v20:partialFailure> </v20:RequestHeader> </soapenv:Header> <soapenv:Body> <v20:get> <v20:selector> <v20:fields>FeedItemId</v20:fields> <v20:fields>Status</v20:fields> <v20:predicates> <v20:field>FeedId</v20:field> <v20:operator>EQUALS</v20:operator> <v20:values>18907067</v20:values> </v20:predicates> <v20:dateRange> <v20:min>20140725</v20:min> <v20:max>20140726</v20:max> </v20:dateRange> </v20:selector> </v20:get> </soapenv:Body> </soapenv:Envelope> *FeedItemService Response:* <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201406"> <requestId>0004ff051bc4b4300a4c12456c007ded</requestId> <serviceName>FeedItemService</serviceName> <methodName>get</methodName> <operations>0</operations> <responseTime>237</responseTime> </ResponseHeader> </soap:Header> <soap:Body> <getResponse xmlns="https://adwords.google.com/api/adwords/cm/v201406"> <rval> <totalNumEntries>2</totalNumEntries> <Page.Type>FeedItemPage</Page.Type> <entries> <feedId>18907067</feedId> <feedItemId>783546139</feedItemId> <status>REMOVED</status> </entries> <entries> <feedId>18907067</feedId> <feedItemId>783546142</feedItemId> <status>ENABLED</status> </entries> </rval> </getResponse> </soap:Body> </soap:Envelope> Thanks, Stacie On Friday, July 25, 2014 8:10:31 AM UTC-7, Josh Radcliff (AdWords API Team) wrote: > > Hi Giles, > > Stacie is absolutely correct -- the proper way to delete a FeedItem is to > pass it in a REMOVE operation to FeedItemService.mutate > <https://developers.google.com/adwords/api/docs/reference/v201406/FeedItemService#mutate>. > > You can also update the FeedItem's attribute values if you prefer that > approach, as Stacie mentioned. > > Regarding *CustomerSyncService*, I just tried removing a FeedItem on a > test account and a non-test account. On the test account, > *CustomerSyncService* was not returning any > FeedChangeData.removedFeedItems > <https://developers.google.com/adwords/api/docs/reference/v201406/CustomerSyncService.FeedChangeData#removedFeedItems>, > > but on the non-test account, *CustomerSyncService* returned the expected > feed item IDs in its FeedChangeData.removedFeedItems > <https://developers.google.com/adwords/api/docs/reference/v201406/CustomerSyncService.FeedChangeData#removedFeedItems> > . > > *Stacie* - were you trying this out on a test account, by any chance? > > One tip: don't forget to specify the feed IDs in your CustomerSyncSelector > <https://developers.google.com/adwords/api/docs/reference/v201406/CustomerSyncService.CustomerSyncSelector#feedIds> > (I > missed that myself the first time!). > > Cheers, > Josh, AdWords API Team > > On Friday, July 25, 2014 10:49:58 AM UTC-4, Giles Bodger wrote: >> >> Thanks again for that Stacie - >> >> I wonder if any of the AdWords Engineers can help on this ? >> >> If there is a limit set on the number of FeedItems on an account then >> surely there MUST be a way to delete a FeedItem. >> >> Can one of the engineers assist and then explain how in a follow up sync >> i would see the deletion / removal ? >> >> cheers >> >> On Friday, July 25, 2014 3:41:39 PM UTC+1, Stacie Waleyko wrote: >>> >>> No problem. I just tried removing a feed item and making a call to >>> CustomerSyncService. I was surprised to see the feed item id was not in the >>> list of deleted/removed feed items (the response actually didn't even have >>> a list of removedFeedItems). I even tried deleting the campaign feed and it >>> still wasn't returned in the list. If you can't get it to work I recommend >>> making a GET call to FeedItemService to get the status of the feed items. >>> The selector takes a dateRange (but not dateTimeRange like >>> CustomerSyncService). Good luck! >>> >>> On Friday, July 25, 2014 3:04:57 AM UTC-7, Giles Bodger wrote: >>>> >>>> Thanks for that Stacie - >>>> >>>> can I presume that any FeedItem that I set to "REMOVE" will then pre >>>> present in the next CustomerSyncService's FeedChangedData object's >>>> deletedFeedItems collection ? >>>> >>>> many thanks in advance :) >>>> >>>> On Thursday, July 24, 2014 2:46:05 PM UTC+1, Stacie Waleyko wrote: >>>>> >>>>> >>>>> Hi Giles, >>>>> >>>>> Have you tried sending a mutate request to FeedItemService with the >>>>> REMOVE operation? I don't think the API counts REMOVED items towards the >>>>> limit. >>>>> >>>>> Stacie >>>>> >>>>> On Thursday, July 24, 2014 2:13:04 AM UTC-7, Giles Bodger wrote: >>>>>> >>>>>> Hi all, >>>>>> >>>>>> is there any way to delete a Sitelink or indeed ANY FeedItem from a >>>>>> Feed ?? >>>>>> >>>>>> Our integration will potentially want to be removing and adding new >>>>>> Sitelinks VERY frequently as market forces on our business model >>>>>> dictate. I >>>>>> know there is a 250,000 limit on the number of FeedItems associated with >>>>>> an >>>>>> account and believe it or not, this could be within reach if we are not >>>>>> able to actually delete a FeedItem. >>>>>> >>>>>> I read here >>>>>> <https://www.en.adwords-community.com/t5/Advanced-Features/Sitelink-extensions-how-to-delete/td-p/138164> >>>>>> >>>>>> - see the post by AdWordsEng-Igor from 12-09-2013 06:21AM - that there >>>>>> is >>>>>> NO way to delete a FeedItem >>>>>> >>>>>> So if we wanted to change a Sitelink, would we simply change the URL >>>>>> or Text on a specific FeedItem ID as opposed to deleting the old one and >>>>>> adding a new one ? >>>>>> >>>>>> That would seem logical - BUT is there a way, if we wanted, to delete >>>>>> a sitelink from a feed?? >>>>>> >>>>>> many thanks in advance >>>>>> >>>>>> Giles >>>>>> >>>>> -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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 [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 Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
