{ "config": { "step": { "pick_implementation": { "title": "[%key:common::config_flow::title::oauth2_pick_implementation%]" }, "reauth_confirm": { "title": "[%key:common::config_flow::title::reauth%]", "description": "The Google Calendar integration needs to re-authenticate your account" }, "auth": { "title": "Link Google Account" } }, "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_account%]", "already_in_progress": "[%key:common::config_flow::abort::already_in_progress%]", "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]", "timeout_connect": "[%key:common::config_flow::error::timeout_connect%]", "oauth_error": "[%key:common::config_flow::abort::oauth2_error%]", "missing_configuration": "[%key:common::config_flow::abort::oauth2_missing_configuration%]", "code_expired": "Authentication code expired or credential setup is invalid, please try again.", "reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]", "invalid_access_token": "[%key:common::config_flow::error::invalid_access_token%]", "api_disabled": "You must enable the Google Calendar API in the Google Cloud Console", "oauth_timeout": "[%key:common::config_flow::abort::oauth2_timeout%]", "oauth_unauthorized": "[%key:common::config_flow::abort::oauth2_unauthorized%]", "oauth_failed": "[%key:common::config_flow::abort::oauth2_failed%]" }, "create_entry": { "default": "[%key:common::config_flow::create_entry::authenticated%]" }, "progress": { "exchange": "To link your Google account, visit the [{url}]({url}) and enter code:\n\n{user_code}" } }, "options": { "step": { "init": { "data": { "calendar_access": "Home Assistant access to Google Calendar" } } } }, "application_credentials": { "description": "Follow the [instructions]({more_info_url}) for [OAuth consent screen]({oauth_consent_url}) to give Home Assistant access to your Google Calendar. You also need to create Application Credentials linked to your Calendar:\n1. Go to [Credentials]({oauth_creds_url}) and click **Create Credentials**.\n1. From the drop-down list select **OAuth client ID**.\n1. Select **TV and Limited Input devices** for the Application Type.\n\n" }, "services": { "add_event": { "name": "Add event", "description": "Adds a new calendar event.", "fields": { "calendar_id": { "name": "Calendar ID", "description": "The id of the calendar you want." }, "summary": { "name": "Summary", "description": "Acts as the title of the event." }, "description": { "name": "Description", "description": "The description of the event. Optional." }, "start_date_time": { "name": "Start time", "description": "The date and time the event should start." }, "end_date_time": { "name": "End time", "description": "The date and time the event should end." }, "start_date": { "name": "Start date", "description": "The date the whole day event should start." }, "end_date": { "name": "End date", "description": "The date the whole day event should end." }, "in": { "name": "In", "description": "Days or weeks that you want to create the event in." } } }, "create_event": { "name": "Creates event", "description": "Add a new calendar event.", "fields": { "summary": { "name": "Summary", "description": "[%key:component::google::services::add_event::fields::summary::description%]" }, "description": { "name": "Description", "description": "[%key:component::google::services::add_event::fields::description::description%]" }, "start_date_time": { "name": "Start time", "description": "The date and time the event should start." }, "end_date_time": { "name": "End time", "description": "The date and time the event should end." }, "start_date": { "name": "Start date", "description": "[%key:component::google::services::add_event::fields::start_date::description%]" }, "end_date": { "name": "End date", "description": "[%key:component::google::services::add_event::fields::end_date::description%]" }, "in": { "name": "In", "description": "Days or weeks that you want to create the event in." }, "location": { "name": "[%key:common::config_flow::data::location%]", "description": "The location of the event. Optional." } } } } }