BlueBubblesApp / bluebubbles-server

Server for forwarding iMessages to clients within the BlueBubbles App ecosystem
https://bluebubbles.app
Apache License 2.0
540 stars 47 forks source link

FR: Sync with Google Contacts #578

Closed zlshames closed 3 months ago

raddacle commented 10 months ago

You can sync them by adding your Google account to MacOS's system settings.

zlshames commented 10 months ago

You can sync them by adding your Google account to MacOS's system settings.

Good point, but some users have reported that avatars don't sync properly. And since we have the login with Google thing, it makes it kinda easy to also grab contacts or something

AndyXheli commented 8 months ago

Yes I would agree the pictures don't sync over from google also it would be cool If the profile photo sync across all devices and maybe grab the main Google photo profile over ?

zlshames commented 8 months ago

Yes I would agree the pictures don't sync over from google also it would be cool If the profile photo sync across all devices and maybe grab the main Google photo profile over ?

yes, we have thought about pulling that info since BlueBubbles already asks for access to your google account for setting up firebase. I just need to implement it. That would likely be the best way to go, rather than using the Google sync via the Contacts app

tchirou commented 7 months ago

Hi. I stumbled on this problem today and I have found that I had some pictures in the windows client if the google contacts hadn't any space in the cell number. For the contacts registered with spaces, no pictures in the client. Weirdly, even if I change it and reset settings in the server and clients apps, I can't get the picture. I even thrwon the server out of applications into the bin, but when I installed it again, the settings were still there. I am a noob on macos, so I don't know how to properly ininstall, I have check in Apllication support and did a search but nothing.

zlshames commented 7 months ago

Hi. I stumbled on this problem today and I have found that I had some pictures in the windows client if the google contacts hadn't any space in the cell number. For the contacts registered with spaces, no pictures in the client. Weirdly, even if I change it and reset settings in the server and clients apps, I can't get the picture. I even thrwon the server out of applications into the bin, but when I installed it again, the settings were still there. I am a noob on macos, so I don't know how to properly ininstall, I have check in Apllication support and did a search but nothing.

Others have reported that removing the Google Contacts sync with your mac's Address Book/Contacts App, then manually importing the Google Contacts VCF export into the BlueBubbles server fixed the issue for them

tchirou commented 7 months ago

I had tried it but no luck I had to resolve to switch from google to icloud contacts and everything's work

mstras commented 5 months ago

I Would love to see direct google contacts integration. This would definitely end a lot of the contact issues with it syncing from the mac contacts app.

zlshames commented 3 months ago

The server (in development) now can pull contacts from your google contacts. It is not a "sync" though as it'll only pull contacts when you tell it to. This is due to security restrictions that is sort of explained by this SO question: https://stackoverflow.com/questions/78673050/is-a-client-secret-required-for-google-oauth-2-0-using-the-pkce-authorization-fl/78673519#78673519

mstras commented 3 months ago

Would it be possible to set an interval when it pulls. Such as daily, weekly, etc instead of just when a user manually hits the button?

zlshames commented 3 months ago

Would it be possible to set an interval when it pulls. Such as daily, weekly, etc instead of just when a user manually hits the button?

Unfortunately, no, not without a server to handle the persistent authentication, or not without including the client secret in the source code (which we don't want to do). This is because when you authenticate, the credentials are only valid for 30 minutes or so. Whatever the default time is. If I try to use the credentials 24 hrs later, it won't work until you consent again