I have a query in regards to accessing gmail api using python. Below, I have the discovery build service
, then using gmail api documentation, we can access different REST resources, for example, accessing labels and to list all the labels like below. But in the script, there is .execute()
after list
, I'm wondering which documentation tells me that I need to include .execute()
to get this working?
service = build('gmail', 'v1', credentials=creds)
results = service.users().labels().list(userId='youremail').execute()
This part of the request service.users().labels().list(userId='youremail')
is just a construct the request, but is not getting executed or processed yet. You need to use the method execute()
to complete this process. Remember that the execute()
method will execute the given operation (query or command).
You can see it being used in the Google Documentation samples. Like this one:
You can also see the same behavior in the official Workspace Github repositories samples here
E.g. The one for sending emails:
You can also review for refences this blog from thepythoncode.com or betterprogramming.pub.
Also, I access to the discovery.py library
from googleapiclient.discovery import build
And I found this documentation:
Returns:
A request object that you can call 'execute()' on to request the next
page. Returns None if there are no more items in the collection.