Repair didn’t help. But I enabled the debug log for the contact sync now and found this in the log which looks like the reason.
Maybe someone with more experience than me can see the reason.
10:22:59.835|031|
10:22:59.835|031| Request:
10:32:59.906|010| Method: GET, RequestUri: 'https://people.googleapis.com/v1/people/me/connections?personFields=addresses%2Cbiographies%2Cbirthdays%2CclientData%2CemailAddresses%2Cevents%2Cgenders%2CimClients%2Cinterests%2Clocales%2Cmemberships%2CmiscKeywords%2Cnames%2Cnicknames%2Coccupations%2Corganizations%2CphoneNumbers%2Crelations%2Curls%2CuserDefined%2CfileAses%2CcalendarUrls%2Cphotos%2Cmetadata&requestSyncToken=true&syncToken=MisAAO_5lwAAABII7KTrqbzThwMQ7KTrqbzThwNbv9X5QNjRL3B6eaD9e_cJOiQ2NmFiMWE0Yi0wMDAwLTI3ZmMtYWQwMi0wODllMDgyYjVmMzQ%3D', Version: 1.1, Content: <null>, Headers:
10:32:59.906|010| {
10:32:59.906|010| User-Agent: google-api-dotnet-client/1.66.0.0
10:32:59.906|010| User-Agent: (gzip)
10:32:59.906|010| x-goog-api-client: gl-dotnet/6.0.0 gdcl/1.57.0.2707
10:32:59.906|010| Authorization: Bearer ya29.a0AcM612wJROhA_OrTGJSmiACQMYKgFskzm_P9k5qvdRmAwUTQzaWuSDsK8O8PMW7lC74oUkKl9PaKm5-o0R4vmIhTpZhf9_94MbM8LJs8xntkCxHgrz1ll47KVCNARflOXBNOZbAafwjXECjHrqwM1OOiNtitKQooCE9IeNEaCgYKASUSARASFQHGX2MiZDQH7ghPuG2QK_EElZHC_Q0174
10:32:59.906|010| }
10:32:59.906|010|
10:32:59.906|010| Response:
10:33:00.174|00D| StatusCode: 403, ReasonPhrase: 'Forbidden', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
10:33:00.174|00D| {
10:33:00.174|00D| Referrer-Policy: no-referrer
10:33:00.174|00D| Date: Fri, 02 Aug 2024 08:33:00 GMT
10:33:00.174|00D| Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
10:33:00.174|00D| Content-Type: text/html; charset=utf-8
10:33:00.175|00D| Content-Length: 1603
10:33:00.175|00D| }
10:33:00.175|00D| <!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 403 (Forbidden)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p><b>403.</b> <ins>That’s an error.</ins>
<p>Your client does not have permission to get URL <code>/v1/people/me/connections</code> from this server. <ins>That’s all we know.</ins>
10:33:00.175|00D|
10:33:00.175|00D| Exception: MailClient.Storage.Application.OperationException: Die Synchronisation des Ordners'[email protected]/Contacts' ist fehlgeschlagen mit folgendem Fehler:
10:33:00.180|010| ---> The service people has thrown an exception.
10:33:00.180|010| HttpStatusCode is Forbidden.
10:33:00.180|010| No JSON error details were specified.
10:33:00.180|010| Raw error details are: <!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 403 (Forbidden)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p><b>403.</b> <ins>That’s an error.</ins>
<p>Your client does not have permission to get URL <code>/v1/people/me/connections</code> from this server. <ins>That’s all we know.</ins>
10:33:00.180|010| Google.GoogleApiException: The service people has thrown an exception. HttpStatusCode is Forbidden. No error message was specified.
10:33:00.180|010| ---> Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
10:33:00.180|010| at Newtonsoft.Json.JsonTextReader.ParseValue()
10:33:00.180|010| at Newtonsoft.Json.JsonTextReader.Read()
10:33:00.180|010| at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
10:33:00.180|010| at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
10:33:00.180|010| at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
10:33:00.180|010| at Google.Apis.Json.NewtonsoftJsonSerializer.Deserialize(String input, Type type)
10:33:00.180|010| at Google.Apis.Json.NewtonsoftJsonSerializer.Deserialize[T](String input)
10:33:00.180|010| at Google.Apis.Responses.HttpResponseMessageExtensions.DeserializeErrorAsync(HttpResponseMessage response, String name, ISerializer serializer)
10:33:00.180|010| --- End of inner exception stack trace ---
10:33:00.180|010| at Google.Apis.Responses.HttpResponseMessageExtensions.DeserializeErrorAsync(HttpResponseMessage response, String name, ISerializer serializer)
10:33:00.181|010| at Google.Apis.Requests.ClientServiceRequest`1.ParseResponse(HttpResponseMessage response)
10:33:00.181|010| at Google.Apis.Requests.ClientServiceRequest`1.ExecuteAsync(CancellationToken cancellationToken)
10:33:00.181|010| at MailClient.Protocols.Gdata.FetchHelper.FetchWithCancellationAsync[T](ClientServiceRequest`1 request, CancellationToken cancellationToken)
10:33:00.181|010| at MailClient.Protocols.Gdata.ContactItemSynchronizer.FetchPages(ListRequest listRequest, IItemSynchronizeContext`1 synchronizeContext, CancellationToken cancellationToken)+MoveNext()
10:33:00.181|010| at MailClient.Protocols.Common.ItemSynchronizeContext`2.Synchronize[T,TUid,TVid](SynchronizationType synchronizationType, IEnumerable`1 items, Func`2 getUniqueId, Func`2 getVersionId, Func`3 hasChanged, Func`2 isDeleted, Func`2 convertItems, Action`2 updateItem)
10:33:00.181|010| at MailClient.Protocols.Gdata.ContactItemSynchronizer.Synchronize(IItemSynchronizeContext`1 synchronizeContext, Folder folder, CancellationToken cancellationToken)
10:33:00.181|010| at MailClient.Protocols.Common.ItemSynchronizer`2.<>c__DisplayClass40_2.<EnqueueSynchronize>b__6(WorkerStatus status, CancellationToken ct)
10:33:00.181|010| at MailClient.Protocols.Gdata.GenericGapiCommand.Execute(WorkerStatus status)
10:33:00.181|010| --- End of inner exception stack trace ---
10:33:00.181|010| at MailClient.Protocols.Gdata.GenericGapiCommand.Execute(WorkerStatus status)
10:33:00.181|010| at MailClient.Commands.Command.Process(WorkerStatus status)
10:33:00.181|031| AccountBase.ChangeOnlineState : State changed to OFFLINE due BrokenConnection