The status of the CrmBasedUserList does not change from "uploading..."

142 views
Skip to first unread message

竹田祥

unread,
Feb 28, 2017, 11:17:52 AM2/28/17
to AdWords API Forum
Hi !
Using the API, create CrmBasedUserList & add email address.
Processing will succeed but the status will not be updated. Tens of hours.
I saw this page and made it.

best regards.

[code]

    public void sendEmailAddresses(String refreshToken, String customerId, String userListId, List<String> emails) throws GoogleException {
        try {
            MutateMembersOperand operand = new MutateMembersOperand();
            operand.setUserListId(Long.valueOf(userListId));
            operand.setDataType(MutateMembersOperandDataType.EMAIL_SHA256);
            operand.setMembers(emails.stream().map(s -> getSha256(s.trim().toLowerCase())).collect(Collectors.toList()).toArray(new String[emails.size()]));

            MutateMembersOperation operation = new MutateMembersOperation();
            operation.setOperand(operand);
            operation.setOperator(Operator.ADD);

            AdwordsUserListServiceInterface userListService = getUserListService(refreshToken, customerId);

            userListService.mutateMembers(new MutateMembersOperation[]{operation});
        } catch (RemoteException e) {
            logger.error("cannot send emais error={}", e);
            throw new GoogleException(e);
        }
    }

    public static String getSha256(String target) {
        MessageDigest md = null;
        StringBuffer buf = new StringBuffer();
        try {
            md = MessageDigest.getInstance("SHA-256");
            md.update(target.getBytes());
            byte[] digest = md.digest();

            for (int i = 0; i < digest.length; i++) {
                buf.append(String.format("%02x", digest[i]));
            }

        } catch (NoSuchAlgorithmException e) {
            new RuntimeException(e);
        }

        return buf.toString();
    }

[screen] of Japanese(sorry)


Shwetha Vastrad (AdWords API Team)

unread,
Feb 28, 2017, 1:54:26 PM2/28/17
to AdWords API Forum
Hi,

Could you provide your clientCustomerId and the name of the UserList so I can take a look? Please note that it may take up to several hours for the list to be populated with members. I suggest that you go through the caveats associated with CrmBasedUserLists which are provided here.

Regards,
Shwetha, AdWords API Team.

竹田祥

unread,
Feb 28, 2017, 6:12:49 PM2/28/17
to AdWords API Forum
Hi, Shwetha

Thank you for your response.

List Name: test123
List ID: 459369448

List Name: test2
List ID: 459386015

There are other List but for now only this.
best regards.

2017年3月1日水曜日 3時54分26秒 UTC+9 Shwetha Vastrad (AdWords API Team):

竹田祥

unread,
Feb 28, 2017, 10:05:11 PM2/28/17
to AdWords API Forum
Hi

I checked the list status with the API.
uploadStatus:SUCCESS
removeAllStatus:IN_PROCESS

in xml
<ns2:uploadStatus>SUCCESS</ns2:uploadStatus>
<ns2:removeAllStatus>IN_PROCESS</ns2:removeAllStatus>

In this process, deleted the members of the list and added it.
Is there a problem with the order of processing?

2017年3月1日水曜日 3時54分26秒 UTC+9 Shwetha Vastrad (AdWords API Team):
Hi,

Nadine Sundquist (AdWords API Team)

unread,
Mar 1, 2017, 12:24:23 PM3/1/17
to AdWords API Forum
Greetings!

Thank you for taking the time to provide all these details. I took a look at all these particular user lists. It looks like all the uploads that you requested were processed. Please keep in mind that it is normal for it to take up to 24 hours for requests to be processed. Based on that status, it looks like you asked for the list to also be cleared and that's in process. Did you request that the list be cleared at some point? Did you use the removeAll field of MutateMembersOperand to remove all members of a CrmBasedUserList? If so, is it taking more than 24 hours to process?

Thanks,
Nadine, AdWords API Team

竹田祥

unread,
Mar 1, 2017, 12:54:38 PM3/1/17
to AdWords API Forum
Thank you for replying.
(Sorry I'm bad at English, google translation is wonderful !!)

>Did you use the removeAll field of MutateMembersOperand to remove all members of a CrmBasedUserList? If so, is it taking more than 24 hours to process?
That's right.
In order to make the list always fresh, I delete it every time and add it.
When you look at the status with the API, it seems that the deletion processing has not ended.(24 hours over)
Is there any good solution?

Process flow
1)removeAll 
2)add email 

 1)removeAll 
    public void removeEmailsFromUserList(String refreshToken, String customerId, String userListId) throws GoogleException {
        try {
            MutateMembersOperand operand = new MutateMembersOperand();
            operand.setUserListId(Long.valueOf(userListId));
            operand.setRemoveAll(true);

            MutateMembersOperation operation = new MutateMembersOperation();
            operation.setOperand(operand);
            operation.setOperator(Operator.REMOVE);

            AdwordsUserListServiceInterface userListService = getUserListService(refreshToken, customerId);

            userListService.mutateMembers(new MutateMembersOperation[]{operation});
        } catch (RemoteException e) {
            logger.error("cannot remove emails error={}", e);
            throw new GoogleException(e);
        }
    }
    
    2)add email 
    public void sendEmailAddresses(String refreshToken, String customerId, String userListId, List<String> emails) throws GoogleException {
        try {
            MutateMembersOperand operand = new MutateMembersOperand();
            operand.setUserListId(Long.valueOf(userListId));
            operand.setDataType(MutateMembersOperandDataType.EMAIL_SHA256);
            operand.setMembers(emails.stream().map(s -> getSha256(s.trim().toLowerCase())).collect(Collectors.toList()).toArray(new String[emails.size()]));

            MutateMembersOperation operation = new MutateMembersOperation();
            operation.setOperand(operand);
            operation.setOperator(Operator.ADD);

            AdwordsUserListServiceInterface userListService = getUserListService(refreshToken, customerId);

            userListService.mutateMembers(new MutateMembersOperation[]{operation});
        } catch (RemoteException e) {
            logger.error("cannot send emais error={}", e);
            throw new GoogleException(e);
        }
    }

2017年3月2日木曜日 2時24分23秒 UTC+9 Nadine Sundquist (AdWords API Team):

Nadine Sundquist (AdWords API Team)

unread,
Mar 1, 2017, 1:52:48 PM3/1/17
to AdWords API Forum
Hello,

Your English is great! I understand it just fine. We both understand code, so that is what matters.

If you are trying to refresh the entire list, then I think you are doing the right thing. I will go check on our servers to see why these lists are taking so long to clear. I will get back to you when I've found out more.

Regards,
Nadine, AdWords API Team

竹田祥

unread,
Mar 1, 2017, 6:23:26 PM3/1/17
to AdWords API Forum
Thank you!
I am grateful for your polite response.

best regards.

2017年3月2日木曜日 3時52分48秒 UTC+9 Nadine Sundquist (AdWords API Team):

Nadine Sundquist (AdWords API Team)

unread,
Mar 2, 2017, 4:56:03 PM3/2/17
to AdWords API Forum
Hello,

I had a talk with one of the engineers on my team who is an expert on this. He says that it is expected that it can take up to 24 hours to clear a list after you've sent the clear request. If you send another clear request to the list, then it resets the amount of time you need to wait for another 24 hours. I hope that answer clears things up for you. If you see that the status is remaining the same where it is in process for a couple of days, then please get back to me.

Best,
Nadine, AdWords API Team

竹田祥

unread,
Mar 2, 2017, 7:35:23 PM3/2/17
to AdWords API Forum
Hi.

Thank you for investigating.
Then, make some lists and check the status.
I will report in a few days.

2017年3月3日金曜日 6時56分03秒 UTC+9 Nadine Sundquist (AdWords API Team):

竹田祥

unread,
Mar 4, 2017, 7:55:26 AM3/4/17
to AdWords API Forum
Hi.

I made a list 24 hours ago and watch that's.

Name:From Prod 1 
ID:463092876

Name:From Prod 2 
ID:463092978

Name:From Prod 3 
ID:463092882

List status is "Uploading", but the matching num is displayed !!
I was able to use it in campaign and ad group.
Just to be sure can you check the status on google side ?

It is not an error It seems that it takes time to process.
I'm happy if it gets faster but it's not a big problem.

2017年3月3日金曜日 6時56分03秒 UTC+9 Nadine Sundquist (AdWords API Team):

竹田祥

unread,
Mar 4, 2017, 7:57:01 AM3/4/17
to AdWords API Forum







2017年3月4日土曜日 21時55分26秒 UTC+9 竹田祥:

Nadine Sundquist (AdWords API Team)

unread,
Mar 6, 2017, 12:24:32 PM3/6/17
to AdWords API Forum
Hi,

Thanks for the update! I checked from our side, and everything looks good. I'm happy to hear that the list is populating. You are correct. It does take quite a bit of time to process, especially when there are a lot of items uploaded. If you have any further issues, please don't hesitate to reach out.

Take care,
Nadine, AdWords API Team

竹田祥

unread,
Mar 6, 2017, 8:30:48 PM3/6/17
to AdWords API Forum
Thank you !
Your advice was very helpful.
I appreciate your support.

2017年3月7日火曜日 2時24分32秒 UTC+9 Nadine Sundquist (AdWords API Team):
Reply all
Reply to author
Forward
0 new messages