Hey, everyone! I'm trying to automate user deletion from our Customer Lists 
at Google Ads for GDPR compliance matters.

I couldn't get a positive response from Google's API. Data below.

*URL:*
https://adwords.google.com/api/adwords/rm/v201806/AdwordsUserListService

*Body Payload:*

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/";>

   <Header>

     <RequestHeader xmlns=
"https://adwords.google.com/api/adwords/rm/v201806";>

       <userAgent></userAgent>

       <developerToken>{DEV_TOKEN_HERE}</developerToken>

       <clientCustomerId>{CLIENT_CUSTOMER_ID_HERE}</clientCustomerId>

     </RequestHeader>

   </Header>

   <Body xmlns="http://schemas.xmlsoap.org/soap/envelope/";>

     <mutateMembers xmlns=
"https://adwords.google.com/api/adwords/rm/v201806";>

       <operations>

         <operator xmlns="https://adwords.google.com/api/adwords/cm/v201806";
>REMOVE</operator>

         <operand>

           <userListId xmlns=
"https://adwords.google.com/api/adwords/rm/v201806”>{MY_USER_LIST_ID}
</userListId>

           <membersList xmlns=
"https://adwords.google.com/api/adwords/rm/v201806";>

             <hashedEmail>{MY_HASHED_EMAIL_TO_BE_REMOVED}</hashedEmail>

           </membersList>

         </operand>

       </operations>

     </mutateMembers>

   </Body>

</Envelope>

*Response:*
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
    <soap:Header>
        <ns2:ResponseHeader xmlns:ns2=
"https://adwords.google.com/api/adwords/rm/v201806"; xmlns=
"https://adwords.google.com/api/adwords/cm/v201806";>
            <requestId>{requestID}</requestId>
            <serviceName>AdwordsUserListService</serviceName>
            <methodName>mutateMembers</methodName>
            <operations>1</operations>
            <responseTime>245</responseTime>
        </ns2:ResponseHeader>
    </soap:Header>
    <soap:Body>
        <soap:Fault>
            <faultcode>soap:Client</faultcode>
            <faultstring>[MutateMembersError.INVALID_USER_LIST_ID @ 
operations[0].operand.userListId; trigger:'UserListId: {MY_USER_LIST_ID}']
</faultstring>
            <detail>
                <ns2:ApiExceptionFault xmlns=
"https://adwords.google.com/api/adwords/cm/v201806"; xmlns:ns2=
"https://adwords.google.com/api/adwords/rm/v201806";>
                    <message>[MutateMembersError.INVALID_USER_LIST_ID @ 
operations[0].operand.userListId; trigger:'UserListId: {MY_USER_LIST_ID}']
</message>
                    <ApplicationException.Type>ApiException
</ApplicationException.Type>
                    <errors xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"; xsi:type=
"ns2:MutateMembersError">
                        <fieldPath>operations[0].operand.userListId
</fieldPath>
                        <fieldPathElements>
                            <field>operations</field>
                            <index>0</index>
                        </fieldPathElements>
                        <fieldPathElements>
                            <field>operand</field>
                        </fieldPathElements>
                        <fieldPathElements>
                            <field>userListId</field>
                        </fieldPathElements>
                        <trigger>UserListId: {MY_USER_LIST_ID}</trigger>
                        <errorString>MutateMembersError.INVALID_USER_LIST_ID
</errorString>
                        <ApiError.Type>MutateMembersError</ApiError.Type>
                        <ns2:reason>INVALID_USER_LIST_ID</ns2:reason>
                    </errors>
                </ns2:ApiExceptionFault>
            </detail>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>

*Note:*
Values between curly brackets are valid. Actually, *{MY_USER_LIST_ID}* 
could be any item from the response of the following query:
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/";>
    <Header>
      <RequestHeader xmlns=
"https://adwords.google.com/api/adwords/rm/v201806";>
        <userAgent></userAgent>
        <developerToken>{DEV_TOKEN_HERE}</developerToken>
        <clientCustomerId>{CLIENT_CUSTOMER_ID_HERE}</clientCustomerId>
      </RequestHeader>
    </Header>
    <Body xmlns="http://schemas.xmlsoap.org/soap/envelope/";>
      <get xmlns="https://adwords.google.com/api/adwords/rm/v201806";>
        <serviceSelector xmlns=
"https://adwords.google.com/api/adwords/rm/v201806";>
          <fields>Id</fields>
          <fields>Name</fields>
          <fields>Status</fields>
          <predicates>
            <field>ListType</field>
            <operator>EQUALS</operator>
            <values>CRM_BASED</values>
          </predicates>
          <predicates>
            <field>Status</field>
            <operator>EQUALS</operator>
            <values>OPEN</values>
          </predicates>
        </serviceSelector>
      </get>
    </Body>
</Envelope>

Any ideas on this? Thank you!

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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].
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/6c4496d9-3b5a-409a-a696-4144f21e8f1b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
  • ... Pablo D.
    • ... 'Dannison Yao (AdWords API Team)' via AdWords API and Google Ads API Forum
      • ... Pablo D.
        • ... 'Dannison Yao (AdWords API Team)' via AdWords API and Google Ads API Forum

Reply via email to