When two contacts are merged in one account, the merge does not get synced to other account(s)
Google webpage identifies "duplicate" contacts for John Doe in Account A. Suggests that I merge them. I click the button and do that. When the sync script runs in Account B, it does not recognize that I've merged the contacts, and Account B still has two duplicate contacts for John Doe.
Further details: In the spreadsheet, I still see two rows for John Doe. Neither row is removed when I merged them in Account A. (I checked this after I was sure that SyncContacts had run and finished in Account A.)
On the other hand, a counter-example:
When I straight "delete" a contact in Account A:
- The spreadsheet gets updated. The row still exists, but all of the contact information has been deleted; and there's a metadata entry in column "o" that shows "deleted:true".
- Then when I run sync on Account B, that contact does get deleted from Account B also.
So it seems that the problem is the script doesn't know when contacts get merged. Do they not show up in the connections.list results? (But deleted contacts do?)
I just tested this. The script correctly identified merged contact as being updated and then syncs them correctly (syncs one, deletes the other) in both accounts. I'm not sure why it's not working on your end.
I'll set up a specific test and see if I can reproduce it.
Curious, did you try it with a Workspace account? In my description above, the account that failed to recognize the merge was Workspace; the account where I did the merge was home gmail. I don't see why that would matter though.
Oh there's another diff: The first time I merged two contacts (the time I encountered the 'bug'), it was when Google prompted me on the Contacts UI to merge a duplicate it had found. The second time (I just did today, and did not encounter the 'bug'), it was me choosing two contacts and manually telling google to merge them. I'm going to try to replicate both of those cases again and see what happens.
If you are sync'ing accounts and the script runs out of time, Google may find two duplicate contacts before it deletes one of them. In that case, Google may ask you to resolve the duplication. If you let the script run again, it should resolve the issue.