1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
'\" t
.\" Title: google-calendar-rsvp
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 05/23/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "GOOGLE\-CALENDAR\-RS" "1" "05/23/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
google-calendar-rsvp \- RSVP to a Google Calendar event
.SH "SYNOPSIS"
.sp
\fIgoogle\-calendar\-rsvp\fR [options] [\-y | \-n | \-m] [\-\-email] [event_ids\&...]
.SH "DESCRIPTION"
.sp
RSVP to a Google Calendar event\&. Events are specified by their ID or by their EID\&.
.sp
An event ID looks like:
.sp
.if n \{\
.RS 4
.\}
.nf
1g4j1h67ndq7kddrb2bptp2cua
.fi
.if n \{\
.RE
.\}
.sp
EIDs are more common, found in invitation emails and event URLs:
.sp
.if n \{\
.RS 4
.\}
.nf
MWc0ajFoNjduZHE3a2RkcmIyYnB0cDJjdWEgcm9yeS5tZXJjdXJ5QGV4YW1wbGUuY28K
.fi
.if n \{\
.RE
.\}
.sp
An EID is a base64\-encoded pair of values consisting of the event ID and most or all of the organiser\(cqs email address\&.
.sp
Both event IDs and EIDs can be passed as command line arguments to RSVP to those events\&. EIDs can also be read from an email given on standard input if the \fI\-\-email\fR flag is present\&. This allows an invitation email to be sent directly to the program to avoid having to extract the EID separately\&.
.sp
To RSVP to an event, use the \fI\-\-yes\fR, \fI\-\-no\fR, or \fI\-\-maybe\fR flags\&. The flag applies to all events passed to the program\&. If more than one RSVP flag is present, the rightmost one is used\&.
.SH "AUTHENTICATION"
.sp
Authentication is required to make requests to the Google Calendar API\&. Before the program can be used, users must create a Google project, and an OAuth 2 client ID\&. The Google project must enable the Google Calendar API\&.
.sp
The OAuth client ID should be downloaded as a JSON file to:
.sp
.if n \{\
.RS 4
.\}
.nf
$HOME/\&.local/share/google\-calendar\-rsvp/oauth\-secret\&.json
.fi
.if n \{\
.RE
.\}
.sp
On the first run of the program, you will be asked to visit a Google URL to create a token and authorise scopes for the Google Calendar API\&. At this point, the program will have the required authentication and authorisation prerequisites to operate\&.
.SH "OPTIONS"
.PP
\-y, \-\-yes
.RS 4
Accept the event invitation\&.
.RE
.PP
\-n, \-\-no
.RS 4
Decline the event invitation\&.
.RE
.PP
\-m, \-\-maybe
.RS 4
Tentatively accept the event invitation\&.
.RE
.PP
\-\-email
.RS 4
Read a Google Calendar invitation email from standard input and extract the event ID from the email instead of having to provide it as a command line argument\&.
.RE
.PP
\-v, \-\-verbose
.RS 4
Enable verbose output\&.
.RE
.PP
\-h, \-\-help
.RS 4
Print usage help\&.
.RE
.PP
\-V, \-\-version
.RS 4
Print the program version\&.
.RE
.SH "FILES"
.sp
TODO
.sp
$HOME/\&.local/share/google\-calendar\-rsvp/token\&.json $HOME/\&.local/share/google\-calendar\-rsvp/oauth\-secret\&.json
|