diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 91a6322..4f0e4ce 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -20,6 +20,9 @@ Version 0.19.2 functional impact, and is merely for forward compatibility with the Rust implementation of vdirsyncer. - Python 3.10 and 3.11 are officially supported. +- Instructions for integrating with Google CalDav/CardDav have changed. + Applications now need to be registered as "Desktop applications". Using "Web + application" no longer works due to changes on Google's side. :gh:`1078` Version 0.19.1 ============== diff --git a/docs/config.rst b/docs/config.rst index 863f176..f291d24 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -287,25 +287,29 @@ Furthermore you need to register vdirsyncer as an application yourself to obtain ``client_id`` and ``client_secret``, as it is against Google's Terms of Service to hardcode those into opensource software [googleterms]_: -1. Go to the `Google API Manager `_ and - create a new project under any name. +1. Go to the `Google API Manager `_ + +2. Create a new project under any name. 2. Within that project, enable the "CalDAV" and "CardDAV" APIs (**not** the Calendar and Contacts APIs, those are different and won't work). There should - be a searchbox where you can just enter those terms. + be a search box where you can just enter those terms. -3. In the sidebar, select "Credentials" and create a new "OAuth Client ID". The - application type is "Desktop". +3. In the sidebar, select "Credentials", then "Create Credentials" and create a + new "OAuth Client ID". You'll be prompted to create a OAuth consent screen first. Fill out that form however you like. + After setting up the consent screen, finish creating the new "OAuth Client + ID'. The correct application type is "Desktop application". + 4. Finally you should have a Client ID and a Client secret. Provide these in your storage config. -The ``token_file`` parameter should be a filepath where vdirsyncer can later -store authentication-related data. You do not need to create the file itself -or write anything to it. +The ``token_file`` parameter should be a path to a file where vdirsyncer can +later store authentication-related data. You do not need to create the file +itself or write anything to it. .. [googleterms] See `ToS `_, section "Confidential Matters".