(20241125) Minor debugging and documentation added.
This commit is contained in:
+11
-9
@@ -16,6 +16,7 @@
|
||||
|
||||
1. Quickstart: https://developers.google.com/gmail/api/quickstart/python
|
||||
2. Labels: https://developers.google.com/gmail/api/guides/labels
|
||||
3. Messages: https://developers.google.com/gmail/api/reference/rest/v1/users.messages
|
||||
|
||||
DOWNLOADS:
|
||||
|
||||
@@ -172,6 +173,7 @@ class AsyncGMailClient:
|
||||
profile = self.__service.users().getProfile(userId = "me").execute()
|
||||
self.__user_email = profile.get("emailAddress")
|
||||
|
||||
# Done here:
|
||||
return True
|
||||
|
||||
# In case something goes wrong:
|
||||
@@ -201,7 +203,7 @@ class AsyncGMailClient:
|
||||
"""
|
||||
|
||||
if await GoogleOAuth.credentials_have_expired(self.__credentials):
|
||||
self._printer("Refreshing Token:", self.__user_email)
|
||||
if not self._debug_only_errors: self._printer("Refreshing Token.", self.__user_email)
|
||||
self.__credentials.refresh(Request())
|
||||
|
||||
# ┏┓ •
|
||||
@@ -245,6 +247,7 @@ class AsyncGMailClient:
|
||||
await self.__ensure_token()
|
||||
|
||||
# Make the API call:
|
||||
if not self._debug_only_errors: self._printer("Listing All Labels.", self.__user_email)
|
||||
api_response = await self.__http_client.get(
|
||||
url = f"https://gmail.googleapis.com/gmail/v1/users/{self.__user_email}/labels",
|
||||
headers = {"Authorization": f"Bearer {self.__credentials.token}"}
|
||||
@@ -291,6 +294,7 @@ class AsyncGMailClient:
|
||||
await self.__ensure_token()
|
||||
|
||||
# Make the API call:
|
||||
if not self._debug_only_errors: self._printer("Getting One Label.", self.__user_email)
|
||||
api_response = await self.__http_client.get(
|
||||
url = f"https://gmail.googleapis.com/gmail/v1/users/{self.__user_email}/labels/{label_id}",
|
||||
headers = {"Authorization": f"Bearer {self.__credentials.token}"}
|
||||
@@ -345,6 +349,7 @@ class AsyncGMailClient:
|
||||
await self.__ensure_token()
|
||||
|
||||
# Make the API call:
|
||||
if not self._debug_only_errors: self._printer("Creating One Label.", self.__user_email)
|
||||
api_response = await self.__http_client.post(
|
||||
url = f"https://gmail.googleapis.com/gmail/v1/users/{self.__user_email}/labels",
|
||||
headers = {
|
||||
@@ -428,6 +433,7 @@ class AsyncGMailClient:
|
||||
if not json_body: return success
|
||||
|
||||
# Make the API call:
|
||||
if not self._debug_only_errors: self._printer("Updating One Label.", self.__user_email)
|
||||
api_response = await self.__http_client.put(
|
||||
url = f"https://gmail.googleapis.com/gmail/v1/users/{self.__user_email}/labels/{label_id}",
|
||||
headers = {"Authorization": f"Bearer {self.__credentials.token}"},
|
||||
@@ -475,6 +481,7 @@ class AsyncGMailClient:
|
||||
await self.__ensure_token()
|
||||
|
||||
# Make the API call:
|
||||
if not self._debug_only_errors: self._printer("Deleting One Label.", self.__user_email)
|
||||
api_response = await self.__http_client.delete(
|
||||
url = f"https://gmail.googleapis.com/gmail/v1/users/{self.__user_email}/labels/{label_id}",
|
||||
headers = {"Authorization": f"Bearer {self.__credentials.token}"}
|
||||
@@ -528,7 +535,7 @@ if __name__ == "__main__":
|
||||
config = secrets_dict,
|
||||
redirect_url = r"https://api.thecaoffice.com/converse/mail/callback/gmail",
|
||||
debug = True,
|
||||
debug_prefix = "OAuth (Goog) | "
|
||||
debug_prefix = "OAuth (Goog) | ",
|
||||
)
|
||||
|
||||
tokens = {
|
||||
@@ -546,36 +553,31 @@ if __name__ == "__main__":
|
||||
|
||||
my_gmail = AsyncGMailClient(
|
||||
http_client = test_client,
|
||||
credentials = await my_oauth.credentials_from_tokens(tokens = tokens)
|
||||
credentials = await my_oauth.credentials_from_tokens(tokens = tokens),
|
||||
debug_only_errors = False
|
||||
)
|
||||
await my_gmail.initialize()
|
||||
print(await my_gmail.user_email)
|
||||
print(await my_gmail.user_profile)
|
||||
|
||||
# print("Listing labels.")
|
||||
# print(json.to_string(await my_gmail.list_labels()))
|
||||
|
||||
# print("Getting one label.")
|
||||
# print(json.to_string(await my_gmail.get_label(label_id = "Label_3")))
|
||||
|
||||
# print("Updating one label.")
|
||||
# print(json.to_string(await my_gmail.update_label(
|
||||
# label_id = "Label_3",
|
||||
# label_name = "Updated Label 123",
|
||||
# label_background_color = "#cc3a21"
|
||||
# )))
|
||||
#
|
||||
# print("Getting one label.")
|
||||
# print(json.to_string(await my_gmail.get_label(label_id = "Label_3")))
|
||||
|
||||
# print("Creating label:")
|
||||
# print(json.to_string(await my_gmail.create_label(
|
||||
# label_name = "Bye - Bye !",
|
||||
# label_text_color = "#fbc8d9",
|
||||
# label_background_color = "#7a2e0b"
|
||||
# )))
|
||||
|
||||
print("Deleting one label.")
|
||||
print(json.to_string(await my_gmail.delete_label(label_id = "Label_6")))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user