FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python-samples/gmail/quickstart/quickstart.py at main · googleworkspace/python-samples · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
googleworkspace
/
python-samples
Public
Notifications
You must be signed in to change notification settings
Fork
925
Star
1.4k
Code
Issues
54
Pull requests
97
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python-samples
/
gmail
/
quickstart
/
quickstart.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
71 lines (61 loc) · 2.3 KB
Breadcrumbs
python-samples
/
gmail
/
quickstart
/
quickstart.py
Copy path
File metadata and controls
71 lines (61 loc) · 2.3 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
# Copyright 2018 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# [START gmail_quickstart]
import
os
.
path
from
google
.
auth
.
transport
.
requests
import
Request
from
google
.
oauth2
.
credentials
import
Credentials
from
google_auth_oauthlib
.
flow
import
InstalledAppFlow
from
googleapiclient
.
discovery
import
build
from
googleapiclient
.
errors
import
HttpError
# If modifying these scopes, delete the file token.json.
SCOPES
=
[
"https://www.googleapis.com/auth/gmail.readonly"
]
def
main
():
"""Shows basic usage of the Gmail API.
Lists the user's Gmail labels.
"""
creds
=
None
# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if
os
.
path
.
exists
(
"token.json"
):
creds
=
Credentials
.
from_authorized_user_file
(
"token.json"
,
SCOPES
)
# If there are no (valid) credentials available, let the user log in.
if
not
creds
or
not
creds
.
valid
:
if
creds
and
creds
.
expired
and
creds
.
refresh_token
:
creds
.
refresh
(
Request
())
else
:
flow
=
InstalledAppFlow
.
from_client_secrets_file
(
"credentials.json"
,
SCOPES
)
creds
=
flow
.
run_local_server
(
port
=
0
)
# Save the credentials for the next run
with
open
(
"token.json"
,
"w"
)
as
token
:
token
.
write
(
creds
.
to_json
())
try
:
# Call the Gmail API
service
=
build
(
"gmail"
,
"v1"
,
credentials
=
creds
)
results
=
service
.
users
().
labels
().
list
(
userId
=
"me"
).
execute
()
labels
=
results
.
get
(
"labels"
, [])
if
not
labels
:
print
(
"No labels found."
)
return
print
(
"Labels:"
)
for
label
in
labels
:
print
(
label
[
"name"
])
except
HttpError
as
error
:
# TODO(developer) - Handle errors from gmail API.
print
(
f"An error occurred:
{
error
}
"
)
if
__name__
==
"__main__"
:
main
()
# [END gmail_quickstart]
Back
|
FazBrowse Home
|
New Git URL