universal-mcp-applications 0.1.12__py3-none-any.whl → 0.1.14__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of universal-mcp-applications might be problematic. Click here for more details.
- universal_mcp/applications/aws_s3/app.py +71 -71
- universal_mcp/applications/calendly/app.py +199 -199
- universal_mcp/applications/canva/app.py +189 -189
- universal_mcp/applications/domain_checker/app.py +31 -24
- universal_mcp/applications/e2b/app.py +6 -7
- universal_mcp/applications/elevenlabs/app.py +24 -20
- universal_mcp/applications/exa/app.py +25 -20
- universal_mcp/applications/falai/app.py +44 -41
- universal_mcp/applications/file_system/app.py +20 -12
- universal_mcp/applications/firecrawl/app.py +46 -47
- universal_mcp/applications/fireflies/app.py +79 -79
- universal_mcp/applications/fpl/app.py +83 -74
- universal_mcp/applications/github/README.md +0 -1028
- universal_mcp/applications/github/app.py +55 -50227
- universal_mcp/applications/google_calendar/app.py +63 -65
- universal_mcp/applications/google_docs/app.py +78 -78
- universal_mcp/applications/google_drive/app.py +361 -440
- universal_mcp/applications/google_gemini/app.py +34 -17
- universal_mcp/applications/google_mail/app.py +164 -118
- universal_mcp/applications/google_searchconsole/app.py +41 -47
- universal_mcp/applications/google_sheet/app.py +157 -164
- universal_mcp/applications/http_tools/app.py +16 -16
- universal_mcp/applications/linkedin/app.py +26 -31
- universal_mcp/applications/ms_teams/app.py +190 -190
- universal_mcp/applications/openai/app.py +55 -56
- universal_mcp/applications/outlook/app.py +57 -57
- universal_mcp/applications/perplexity/app.py +17 -17
- universal_mcp/applications/reddit/app.py +225 -4053
- universal_mcp/applications/replicate/app.py +40 -42
- universal_mcp/applications/resend/app.py +157 -154
- universal_mcp/applications/scraper/app.py +24 -24
- universal_mcp/applications/serpapi/app.py +18 -20
- universal_mcp/applications/sharepoint/app.py +46 -36
- universal_mcp/applications/slack/app.py +66 -66
- universal_mcp/applications/tavily/app.py +7 -7
- universal_mcp/applications/twitter/api_segments/compliance_api.py +17 -20
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +35 -40
- universal_mcp/applications/twitter/api_segments/dm_events_api.py +18 -21
- universal_mcp/applications/twitter/api_segments/likes_api.py +19 -22
- universal_mcp/applications/twitter/api_segments/lists_api.py +59 -68
- universal_mcp/applications/twitter/api_segments/spaces_api.py +36 -42
- universal_mcp/applications/twitter/api_segments/trends_api.py +7 -8
- universal_mcp/applications/twitter/api_segments/tweets_api.py +159 -185
- universal_mcp/applications/twitter/api_segments/usage_api.py +5 -6
- universal_mcp/applications/twitter/api_segments/users_api.py +230 -264
- universal_mcp/applications/unipile/app.py +99 -105
- universal_mcp/applications/whatsapp/app.py +86 -82
- universal_mcp/applications/whatsapp_business/app.py +147 -147
- universal_mcp/applications/youtube/app.py +290 -290
- universal_mcp/applications/zenquotes/app.py +6 -6
- {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/RECORD +54 -54
- {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/licenses/LICENSE +0 -0
|
@@ -24,23 +24,23 @@ class GoogleMailApp(APIApplication):
|
|
|
24
24
|
thread_id: str | None = None,
|
|
25
25
|
) -> dict[str, Any]:
|
|
26
26
|
"""
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
Composes and immediately sends an email message via the Gmail API. It can function as a reply within an existing conversation if a `thread_id` is provided. This action is distinct from `send_draft`, which sends a previously saved draft message.
|
|
28
|
+
|
|
29
29
|
Args:
|
|
30
30
|
to: The email address of the recipient
|
|
31
31
|
subject: The subject line of the email
|
|
32
32
|
body: The content of the email message
|
|
33
33
|
body_type: The MIME subtype for the body ("plain" or "html"). Defaults to "plain".
|
|
34
34
|
thread_id: Optional thread ID to make this a reply to an existing conversation
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
Returns:
|
|
37
37
|
A string containing either a success confirmation message or an error description
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
Raises:
|
|
40
40
|
NotAuthorizedError: When Gmail API authentication is not valid or has expired
|
|
41
41
|
KeyError: When required configuration keys are missing
|
|
42
42
|
Exception: For any other unexpected errors during the email sending process
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
Tags:
|
|
45
45
|
send, email, api, communication, important, thread, reply, openWorldHint
|
|
46
46
|
"""
|
|
@@ -79,23 +79,23 @@ class GoogleMailApp(APIApplication):
|
|
|
79
79
|
thread_id: str | None = None,
|
|
80
80
|
) -> dict[str, Any]:
|
|
81
81
|
"""
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
Saves a new draft email in Gmail with a specified recipient, subject, and body. An optional thread ID can be provided to create the draft as a reply within an existing conversation, distinguishing it from `send_email` which sends immediately.
|
|
83
|
+
|
|
84
84
|
Args:
|
|
85
85
|
to: The email address of the recipient
|
|
86
86
|
subject: The subject line of the draft email
|
|
87
87
|
body: The main content/message of the draft email
|
|
88
88
|
body_type: The MIME subtype for the body ("plain" or "html"). Defaults to "plain".
|
|
89
89
|
thread_id: Optional thread ID to make this draft a reply to an existing conversation
|
|
90
|
-
|
|
90
|
+
|
|
91
91
|
Returns:
|
|
92
92
|
A string containing either a success message with the draft ID or an error message describing the failure
|
|
93
|
-
|
|
93
|
+
|
|
94
94
|
Raises:
|
|
95
95
|
NotAuthorizedError: When the user's Gmail API authorization is invalid or expired
|
|
96
96
|
KeyError: When required configuration keys are missing
|
|
97
97
|
Exception: For general API errors, network issues, or other unexpected problems
|
|
98
|
-
|
|
98
|
+
|
|
99
99
|
Tags:
|
|
100
100
|
create, email, draft, gmail, api, important, thread, reply, html
|
|
101
101
|
"""
|
|
@@ -118,19 +118,19 @@ class GoogleMailApp(APIApplication):
|
|
|
118
118
|
|
|
119
119
|
def send_draft(self, draft_id: str) -> dict[str, Any]:
|
|
120
120
|
"""
|
|
121
|
-
Sends
|
|
122
|
-
|
|
121
|
+
Sends a pre-existing Gmail draft identified by its unique ID. It posts to the `/drafts/send` endpoint, converting a saved draft into a sent message. This function acts on drafts created via `create_draft` and differs from `send_email`, which sends a new email in one step.
|
|
122
|
+
|
|
123
123
|
Args:
|
|
124
124
|
draft_id: The unique identifier of the Gmail draft to be sent
|
|
125
|
-
|
|
125
|
+
|
|
126
126
|
Returns:
|
|
127
127
|
A string containing either a success message with the sent message ID or an error message detailing the failure reason
|
|
128
|
-
|
|
128
|
+
|
|
129
129
|
Raises:
|
|
130
130
|
NotAuthorizedError: When the user's Gmail API authorization is invalid or expired
|
|
131
131
|
KeyError: When required configuration keys are missing from the API response
|
|
132
132
|
Exception: For other unexpected errors during the API request or response handling
|
|
133
|
-
|
|
133
|
+
|
|
134
134
|
Tags:
|
|
135
135
|
send, email, api, communication, important, draft
|
|
136
136
|
"""
|
|
@@ -147,20 +147,20 @@ class GoogleMailApp(APIApplication):
|
|
|
147
147
|
|
|
148
148
|
def get_draft(self, draft_id: str, format: str = "full") -> dict[str, Any]:
|
|
149
149
|
"""
|
|
150
|
-
Retrieves
|
|
151
|
-
|
|
150
|
+
Retrieves a specific Gmail draft by its unique ID. This function allows specifying the output format (e.g., full, raw) to control the response detail. Unlike `list_drafts`, it fetches a single, known draft rather than a collection of multiple drafts.
|
|
151
|
+
|
|
152
152
|
Args:
|
|
153
153
|
draft_id: String identifier of the draft email to retrieve
|
|
154
154
|
format: Output format of the draft (options: minimal, full, raw, metadata). Defaults to 'full'
|
|
155
|
-
|
|
155
|
+
|
|
156
156
|
Returns:
|
|
157
157
|
A formatted string containing the draft email details (ID, recipient, subject) or an error message if retrieval fails
|
|
158
|
-
|
|
158
|
+
|
|
159
159
|
Raises:
|
|
160
160
|
NotAuthorizedError: When the user's Gmail authorization is invalid or expired
|
|
161
161
|
KeyError: When required configuration keys or response data fields are missing
|
|
162
162
|
Exception: For any other unexpected errors during draft retrieval
|
|
163
|
-
|
|
163
|
+
|
|
164
164
|
Tags:
|
|
165
165
|
retrieve, email, gmail, draft, api, format, important
|
|
166
166
|
"""
|
|
@@ -183,21 +183,21 @@ class GoogleMailApp(APIApplication):
|
|
|
183
183
|
include_spam_trash: bool = False,
|
|
184
184
|
) -> dict[str, Any]:
|
|
185
185
|
"""
|
|
186
|
-
Retrieves
|
|
187
|
-
|
|
186
|
+
Retrieves a list of email drafts from a Gmail account, supporting filtering via search query and limiting results. Can optionally include drafts from spam and trash, returning the raw API response with draft objects and metadata, distinguishing it from `get_draft` which fetches a single, specific draft.
|
|
187
|
+
|
|
188
188
|
Args:
|
|
189
189
|
max_results: Maximum number of drafts to return (max 500, default 20)
|
|
190
190
|
q: Search query string to filter drafts using Gmail search syntax (default None)
|
|
191
191
|
include_spam_trash: Boolean flag to include drafts from spam and trash folders (default False)
|
|
192
|
-
|
|
192
|
+
|
|
193
193
|
Returns:
|
|
194
194
|
A formatted string containing the list of draft IDs and count information, or an error message if the request fails
|
|
195
|
-
|
|
195
|
+
|
|
196
196
|
Raises:
|
|
197
197
|
NotAuthorizedError: When the Gmail API authentication is missing or invalid
|
|
198
198
|
KeyError: When required configuration keys are missing
|
|
199
199
|
Exception: For general errors during API communication or data processing
|
|
200
|
-
|
|
200
|
+
|
|
201
201
|
Tags:
|
|
202
202
|
list, email, drafts, gmail, api, search, query, pagination, important
|
|
203
203
|
"""
|
|
@@ -219,18 +219,18 @@ class GoogleMailApp(APIApplication):
|
|
|
219
219
|
|
|
220
220
|
return self._handle_response(response)
|
|
221
221
|
|
|
222
|
-
def
|
|
222
|
+
def get_message_details(self, message_id: str) -> dict[str, Any]:
|
|
223
223
|
"""
|
|
224
|
-
Retrieves
|
|
225
|
-
|
|
224
|
+
Retrieves a specific email from Gmail by its ID. It parses the API response to extract and format key details—including sender, recipient, subject, and full body content—into a structured dictionary. This provides detailed data for other functions like `list_messages`.
|
|
225
|
+
|
|
226
226
|
Args:
|
|
227
227
|
message_id: The unique identifier of the Gmail message to retrieve
|
|
228
|
-
|
|
228
|
+
|
|
229
229
|
Returns:
|
|
230
230
|
A dictionary containing the cleaned message details (serializable as JSON)
|
|
231
|
-
|
|
231
|
+
|
|
232
232
|
Tags:
|
|
233
|
-
retrieve, email, format, api, gmail, message, important, body, content
|
|
233
|
+
retrieve, email, format, api, gmail, message, important, body, content, attachments
|
|
234
234
|
"""
|
|
235
235
|
url = f"{self.base_api_url}/messages/{message_id}"
|
|
236
236
|
response = self._get(url)
|
|
@@ -251,6 +251,9 @@ class GoogleMailApp(APIApplication):
|
|
|
251
251
|
else:
|
|
252
252
|
body_content = "No content available"
|
|
253
253
|
|
|
254
|
+
# Extract attachments
|
|
255
|
+
attachments = self._extract_attachments(raw_data.get("payload", {}))
|
|
256
|
+
|
|
254
257
|
return {
|
|
255
258
|
"message_id": message_id,
|
|
256
259
|
"from_addr": headers.get("From", "Unknown sender"),
|
|
@@ -259,8 +262,11 @@ class GoogleMailApp(APIApplication):
|
|
|
259
262
|
"subject": headers.get("Subject", "No subject"),
|
|
260
263
|
"body_content": body_content,
|
|
261
264
|
"thread_id": raw_data.get("threadId"),
|
|
265
|
+
"attachments": attachments,
|
|
262
266
|
}
|
|
263
267
|
|
|
268
|
+
|
|
269
|
+
|
|
264
270
|
def _extract_email_body(self, payload):
|
|
265
271
|
"""
|
|
266
272
|
Extracts the email body content from the Gmail API payload.
|
|
@@ -315,6 +321,46 @@ class GoogleMailApp(APIApplication):
|
|
|
315
321
|
logger.error(f"Error extracting email body: {str(e)}")
|
|
316
322
|
return ""
|
|
317
323
|
|
|
324
|
+
def _extract_attachments(self, payload):
|
|
325
|
+
"""
|
|
326
|
+
Extracts attachment information from the Gmail API payload.
|
|
327
|
+
|
|
328
|
+
Args:
|
|
329
|
+
payload: The payload section from Gmail API response
|
|
330
|
+
|
|
331
|
+
Returns:
|
|
332
|
+
list: List of attachment dictionaries with attachment_id, filename, mime_type, and size
|
|
333
|
+
"""
|
|
334
|
+
attachments = []
|
|
335
|
+
|
|
336
|
+
try:
|
|
337
|
+
if payload.get("filename") and payload.get("body", {}).get("attachmentId"):
|
|
338
|
+
attachments.append({
|
|
339
|
+
"attachment_id": payload["body"]["attachmentId"],
|
|
340
|
+
"filename": payload["filename"],
|
|
341
|
+
"mime_type": payload.get("mimeType", ""),
|
|
342
|
+
"size": payload.get("body", {}).get("size", 0)
|
|
343
|
+
})
|
|
344
|
+
|
|
345
|
+
parts = payload.get("parts", [])
|
|
346
|
+
for part in parts:
|
|
347
|
+
if part.get("filename") and part.get("body", {}).get("attachmentId"):
|
|
348
|
+
attachments.append({
|
|
349
|
+
"attachment_id": part["body"]["attachmentId"],
|
|
350
|
+
"filename": part["filename"],
|
|
351
|
+
"mime_type": part.get("mimeType", ""),
|
|
352
|
+
"size": part.get("body", {}).get("size", 0)
|
|
353
|
+
})
|
|
354
|
+
|
|
355
|
+
elif part.get("parts"):
|
|
356
|
+
nested_attachments = self._extract_attachments(part)
|
|
357
|
+
attachments.extend(nested_attachments)
|
|
358
|
+
|
|
359
|
+
except Exception as e:
|
|
360
|
+
logger.error(f"Error extracting attachments: {str(e)}")
|
|
361
|
+
|
|
362
|
+
return attachments
|
|
363
|
+
|
|
318
364
|
def _decode_base64(self, data):
|
|
319
365
|
"""
|
|
320
366
|
Decodes base64 URL-safe encoded data from Gmail API.
|
|
@@ -341,8 +387,8 @@ class GoogleMailApp(APIApplication):
|
|
|
341
387
|
page_token: str | None = None,
|
|
342
388
|
) -> dict[str, Any]:
|
|
343
389
|
"""
|
|
344
|
-
|
|
345
|
-
|
|
390
|
+
Fetches a paginated list of detailed email messages from Gmail using optional search queries. It concurrently retrieves the full content (sender, subject, body) for each message, returning the results and a token to access the next page. This differs from `get_message` which fetches only one.
|
|
391
|
+
|
|
346
392
|
Args:
|
|
347
393
|
max_results: Maximum number of messages to return (max 500, default 20)
|
|
348
394
|
q: Search query string to filter messages using Gmail search syntax.
|
|
@@ -363,15 +409,15 @@ class GoogleMailApp(APIApplication):
|
|
|
363
409
|
- 'has:attachment' for emails with attachments
|
|
364
410
|
- 'is:unread' for unread emails
|
|
365
411
|
include_spam_trash: Boolean flag to include messages from spam and trash folders (default False)
|
|
366
|
-
|
|
412
|
+
|
|
367
413
|
Returns:
|
|
368
414
|
A dictionary containing the list of messages and next page token for pagination
|
|
369
|
-
|
|
415
|
+
|
|
370
416
|
Raises:
|
|
371
417
|
NotAuthorizedError: When the Gmail API authentication is invalid or missing
|
|
372
418
|
KeyError: When required configuration keys are missing
|
|
373
419
|
Exception: For general API errors, network issues, or other unexpected problems
|
|
374
|
-
|
|
420
|
+
|
|
375
421
|
Tags:
|
|
376
422
|
list, messages, gmail, search, query, pagination, important
|
|
377
423
|
"""
|
|
@@ -423,21 +469,21 @@ class GoogleMailApp(APIApplication):
|
|
|
423
469
|
"next_page_token": data.get("nextPageToken"),
|
|
424
470
|
}
|
|
425
471
|
|
|
426
|
-
def
|
|
472
|
+
def get_email_thread(self, thread_id: str) -> dict[str, Any]:
|
|
427
473
|
"""
|
|
428
|
-
Retrieves a
|
|
429
|
-
|
|
474
|
+
Retrieves a complete email conversation from the Gmail API by its thread ID. It returns a dictionary containing all messages and metadata for the entire thread, providing the full context of the conversation.
|
|
475
|
+
|
|
430
476
|
Args:
|
|
431
477
|
thread_id: The unique identifier of the Gmail thread to retrieve
|
|
432
|
-
|
|
478
|
+
|
|
433
479
|
Returns:
|
|
434
480
|
A dictionary containing the thread details and all messages in the thread
|
|
435
|
-
|
|
481
|
+
|
|
436
482
|
Raises:
|
|
437
483
|
NotAuthorizedError: When Gmail API authentication is invalid or missing
|
|
438
484
|
KeyError: When required configuration keys are missing
|
|
439
485
|
Exception: For general errors during API communication or data processing
|
|
440
|
-
|
|
486
|
+
|
|
441
487
|
Tags:
|
|
442
488
|
retrieve, email, thread, gmail, api, conversation, important, readOnlyHint, openWorldHint
|
|
443
489
|
"""
|
|
@@ -448,18 +494,18 @@ class GoogleMailApp(APIApplication):
|
|
|
448
494
|
|
|
449
495
|
def list_labels(self) -> dict[str, Any]:
|
|
450
496
|
"""
|
|
451
|
-
|
|
452
|
-
|
|
497
|
+
Fetches a complete list of all available labels from the user's Gmail account via the API. This includes both system-defined (e.g., INBOX) and user-created labels, returning details such as their names, IDs, and types after standard response handling.
|
|
498
|
+
|
|
453
499
|
Args:
|
|
454
500
|
None: This method takes no arguments
|
|
455
|
-
|
|
501
|
+
|
|
456
502
|
Returns:
|
|
457
503
|
A formatted string containing a list of Gmail labels categorized by type (system and user), with their IDs, or an error message if the operation fails.
|
|
458
|
-
|
|
504
|
+
|
|
459
505
|
Raises:
|
|
460
506
|
NotAuthorizedError: Raised when the user's Gmail authorization is invalid or missing
|
|
461
507
|
Exception: Raised when any other unexpected error occurs during the API request or data processing
|
|
462
|
-
|
|
508
|
+
|
|
463
509
|
Tags:
|
|
464
510
|
list, gmail, labels, fetch, organize, important, management
|
|
465
511
|
"""
|
|
@@ -474,18 +520,18 @@ class GoogleMailApp(APIApplication):
|
|
|
474
520
|
|
|
475
521
|
def create_label(self, name: str) -> dict[str, Any]:
|
|
476
522
|
"""
|
|
477
|
-
Creates a new Gmail label with specified visibility settings and returns
|
|
478
|
-
|
|
523
|
+
Creates a new Gmail label with a specified name. The function hardcodes the label's visibility settings to ensure it appears in both the label and message lists. It returns the API response, which includes the new label's details upon success or an error message on failure.
|
|
524
|
+
|
|
479
525
|
Args:
|
|
480
526
|
name: The display name of the label to create
|
|
481
|
-
|
|
527
|
+
|
|
482
528
|
Returns:
|
|
483
529
|
A formatted string containing the creation status, including the new label's name and ID if successful, or an error message if the creation fails
|
|
484
|
-
|
|
530
|
+
|
|
485
531
|
Raises:
|
|
486
532
|
NotAuthorizedError: Raised when the request lacks proper Gmail API authorization
|
|
487
533
|
Exception: Raised for any other unexpected errors during label creation
|
|
488
|
-
|
|
534
|
+
|
|
489
535
|
Tags:
|
|
490
536
|
create, label, gmail, management, important
|
|
491
537
|
"""
|
|
@@ -507,18 +553,18 @@ class GoogleMailApp(APIApplication):
|
|
|
507
553
|
|
|
508
554
|
def get_profile(self) -> dict[str, Any]:
|
|
509
555
|
"""
|
|
510
|
-
Retrieves
|
|
511
|
-
|
|
556
|
+
Retrieves the authenticated user's Gmail profile from the API. The profile includes the user's email address, total message and thread counts, and the mailbox's history ID, offering a high-level summary of the account's state.
|
|
557
|
+
|
|
512
558
|
Args:
|
|
513
559
|
None: This method takes no arguments besides self
|
|
514
|
-
|
|
560
|
+
|
|
515
561
|
Returns:
|
|
516
562
|
A formatted string containing the user's Gmail profile information or an error message if the request fails
|
|
517
|
-
|
|
563
|
+
|
|
518
564
|
Raises:
|
|
519
565
|
NotAuthorizedError: Raised when the user's credentials are invalid or authorization is required
|
|
520
566
|
Exception: Raised for any other unexpected errors during the API request or data processing
|
|
521
|
-
|
|
567
|
+
|
|
522
568
|
Tags:
|
|
523
569
|
fetch, profile, gmail, user-info, api-request, important
|
|
524
570
|
"""
|
|
@@ -530,7 +576,7 @@ class GoogleMailApp(APIApplication):
|
|
|
530
576
|
response = self._get(url)
|
|
531
577
|
return self._handle_response(response)
|
|
532
578
|
|
|
533
|
-
def
|
|
579
|
+
def update_draft(
|
|
534
580
|
self,
|
|
535
581
|
userId,
|
|
536
582
|
id,
|
|
@@ -548,8 +594,8 @@ class GoogleMailApp(APIApplication):
|
|
|
548
594
|
message=None,
|
|
549
595
|
) -> dict[str, Any]:
|
|
550
596
|
"""
|
|
551
|
-
Updates
|
|
552
|
-
|
|
597
|
+
Updates a specific Gmail draft by its ID, replacing its existing content and metadata. The new message body and headers are provided in a message object, allowing for complete modification of the draft before it is sent.
|
|
598
|
+
|
|
553
599
|
Args:
|
|
554
600
|
userId (string): userId
|
|
555
601
|
id (string): id
|
|
@@ -612,10 +658,10 @@ class GoogleMailApp(APIApplication):
|
|
|
612
658
|
}
|
|
613
659
|
}
|
|
614
660
|
```
|
|
615
|
-
|
|
661
|
+
|
|
616
662
|
Returns:
|
|
617
663
|
dict[str, Any]: Successful response
|
|
618
|
-
|
|
664
|
+
|
|
619
665
|
Tags:
|
|
620
666
|
Drafts
|
|
621
667
|
"""
|
|
@@ -650,7 +696,7 @@ class GoogleMailApp(APIApplication):
|
|
|
650
696
|
response.raise_for_status()
|
|
651
697
|
return response.json()
|
|
652
698
|
|
|
653
|
-
def
|
|
699
|
+
def trash_message(
|
|
654
700
|
self,
|
|
655
701
|
userId,
|
|
656
702
|
id,
|
|
@@ -667,8 +713,8 @@ class GoogleMailApp(APIApplication):
|
|
|
667
713
|
xgafv=None,
|
|
668
714
|
) -> dict[str, Any]:
|
|
669
715
|
"""
|
|
670
|
-
Moves a message to the trash folder
|
|
671
|
-
|
|
716
|
+
Moves a specific Gmail message to the trash folder using its unique ID. This action serves as a soft delete and is the direct counterpart to `untrash_messages`, which restores a trashed message. It requires both a user ID and message ID to execute.
|
|
717
|
+
|
|
672
718
|
Args:
|
|
673
719
|
userId (string): userId
|
|
674
720
|
id (string): id
|
|
@@ -683,10 +729,10 @@ class GoogleMailApp(APIApplication):
|
|
|
683
729
|
upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
|
|
684
730
|
uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
|
|
685
731
|
xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
|
|
686
|
-
|
|
732
|
+
|
|
687
733
|
Returns:
|
|
688
734
|
dict[str, Any]: Successful response
|
|
689
|
-
|
|
735
|
+
|
|
690
736
|
Tags:
|
|
691
737
|
Messages, important
|
|
692
738
|
"""
|
|
@@ -716,7 +762,7 @@ class GoogleMailApp(APIApplication):
|
|
|
716
762
|
response.raise_for_status()
|
|
717
763
|
return response.json()
|
|
718
764
|
|
|
719
|
-
def
|
|
765
|
+
def untrash_message(
|
|
720
766
|
self,
|
|
721
767
|
userId,
|
|
722
768
|
id,
|
|
@@ -733,8 +779,8 @@ class GoogleMailApp(APIApplication):
|
|
|
733
779
|
xgafv=None,
|
|
734
780
|
) -> dict[str, Any]:
|
|
735
781
|
"""
|
|
736
|
-
|
|
737
|
-
|
|
782
|
+
Restores a specific Gmail message from the trash to the user's mailbox, identified by its unique ID. It serves as the direct counterpart to `trash_messsages`, undoing the deletion action and making the message visible again in the user's account via an API call.
|
|
783
|
+
|
|
738
784
|
Args:
|
|
739
785
|
userId (string): userId
|
|
740
786
|
id (string): id
|
|
@@ -749,10 +795,10 @@ class GoogleMailApp(APIApplication):
|
|
|
749
795
|
upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
|
|
750
796
|
uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
|
|
751
797
|
xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
|
|
752
|
-
|
|
798
|
+
|
|
753
799
|
Returns:
|
|
754
800
|
dict[str, Any]: Successful response
|
|
755
|
-
|
|
801
|
+
|
|
756
802
|
Tags:
|
|
757
803
|
Messages
|
|
758
804
|
"""
|
|
@@ -782,7 +828,7 @@ class GoogleMailApp(APIApplication):
|
|
|
782
828
|
response.raise_for_status()
|
|
783
829
|
return response.json()
|
|
784
830
|
|
|
785
|
-
def
|
|
831
|
+
def get_attachment(
|
|
786
832
|
self,
|
|
787
833
|
userId,
|
|
788
834
|
messageId,
|
|
@@ -800,8 +846,8 @@ class GoogleMailApp(APIApplication):
|
|
|
800
846
|
xgafv=None,
|
|
801
847
|
) -> dict[str, Any]:
|
|
802
848
|
"""
|
|
803
|
-
Retrieves
|
|
804
|
-
|
|
849
|
+
Retrieves a specific email attachment's content by its unique ID from a specified message. It requires the user, message, and attachment IDs to make a targeted API request, returning the attachment's size and base64-encoded data.
|
|
850
|
+
|
|
805
851
|
Args:
|
|
806
852
|
userId (string): userId
|
|
807
853
|
messageId (string): messageId
|
|
@@ -817,10 +863,10 @@ class GoogleMailApp(APIApplication):
|
|
|
817
863
|
upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
|
|
818
864
|
uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
|
|
819
865
|
xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
|
|
820
|
-
|
|
866
|
+
|
|
821
867
|
Returns:
|
|
822
868
|
dict[str, Any]: Successful response
|
|
823
|
-
|
|
869
|
+
|
|
824
870
|
Tags:
|
|
825
871
|
Messages
|
|
826
872
|
"""
|
|
@@ -852,7 +898,7 @@ class GoogleMailApp(APIApplication):
|
|
|
852
898
|
response.raise_for_status()
|
|
853
899
|
return response.json()
|
|
854
900
|
|
|
855
|
-
def
|
|
901
|
+
def update_label(
|
|
856
902
|
self,
|
|
857
903
|
userId,
|
|
858
904
|
id,
|
|
@@ -878,8 +924,8 @@ class GoogleMailApp(APIApplication):
|
|
|
878
924
|
type=None,
|
|
879
925
|
) -> dict[str, Any]:
|
|
880
926
|
"""
|
|
881
|
-
|
|
882
|
-
|
|
927
|
+
Updates an existing Gmail label's properties, such as its name, color, or visibility, using its unique ID. It sends a PUT request to the Gmail API and returns the full, updated label resource as a dictionary upon successful modification.
|
|
928
|
+
|
|
883
929
|
Args:
|
|
884
930
|
userId (string): userId
|
|
885
931
|
id (string): id
|
|
@@ -921,10 +967,10 @@ class GoogleMailApp(APIApplication):
|
|
|
921
967
|
"type": "system"
|
|
922
968
|
}
|
|
923
969
|
```
|
|
924
|
-
|
|
970
|
+
|
|
925
971
|
Returns:
|
|
926
972
|
dict[str, Any]: Successful response
|
|
927
|
-
|
|
973
|
+
|
|
928
974
|
Tags:
|
|
929
975
|
Labels
|
|
930
976
|
"""
|
|
@@ -967,7 +1013,7 @@ class GoogleMailApp(APIApplication):
|
|
|
967
1013
|
response.raise_for_status()
|
|
968
1014
|
return response.json()
|
|
969
1015
|
|
|
970
|
-
def
|
|
1016
|
+
def delete_label(
|
|
971
1017
|
self,
|
|
972
1018
|
userId,
|
|
973
1019
|
id,
|
|
@@ -984,8 +1030,8 @@ class GoogleMailApp(APIApplication):
|
|
|
984
1030
|
xgafv=None,
|
|
985
1031
|
) -> Any:
|
|
986
1032
|
"""
|
|
987
|
-
|
|
988
|
-
|
|
1033
|
+
Permanently removes a specific Gmail label from a user's account, identified by its unique ID. This function performs an irreversible deletion via an API call, requiring both the `userId` and the label `id`. It is the destructive counterpart to `create_label` and `update_labels`.
|
|
1034
|
+
|
|
989
1035
|
Args:
|
|
990
1036
|
userId (string): userId
|
|
991
1037
|
id (string): id
|
|
@@ -1000,10 +1046,10 @@ class GoogleMailApp(APIApplication):
|
|
|
1000
1046
|
upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
|
|
1001
1047
|
uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
|
|
1002
1048
|
xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
|
|
1003
|
-
|
|
1049
|
+
|
|
1004
1050
|
Returns:
|
|
1005
1051
|
Any: No Content
|
|
1006
|
-
|
|
1052
|
+
|
|
1007
1053
|
Tags:
|
|
1008
1054
|
Labels
|
|
1009
1055
|
"""
|
|
@@ -1033,7 +1079,7 @@ class GoogleMailApp(APIApplication):
|
|
|
1033
1079
|
response.raise_for_status()
|
|
1034
1080
|
return response.json()
|
|
1035
1081
|
|
|
1036
|
-
def
|
|
1082
|
+
def get_filter(
|
|
1037
1083
|
self,
|
|
1038
1084
|
userId,
|
|
1039
1085
|
id,
|
|
@@ -1050,8 +1096,8 @@ class GoogleMailApp(APIApplication):
|
|
|
1050
1096
|
xgafv=None,
|
|
1051
1097
|
) -> dict[str, Any]:
|
|
1052
1098
|
"""
|
|
1053
|
-
|
|
1054
|
-
|
|
1099
|
+
Fetches the configuration for a single Gmail filter using its unique ID. It returns the specific criteria (e.g., from, subject) and the automated actions (e.g., add label, archive) defined for that filter.
|
|
1100
|
+
|
|
1055
1101
|
Args:
|
|
1056
1102
|
userId (string): userId
|
|
1057
1103
|
id (string): id
|
|
@@ -1066,10 +1112,10 @@ class GoogleMailApp(APIApplication):
|
|
|
1066
1112
|
upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
|
|
1067
1113
|
uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
|
|
1068
1114
|
xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
|
|
1069
|
-
|
|
1115
|
+
|
|
1070
1116
|
Returns:
|
|
1071
1117
|
dict[str, Any]: Successful response
|
|
1072
|
-
|
|
1118
|
+
|
|
1073
1119
|
Tags:
|
|
1074
1120
|
settings, Filters
|
|
1075
1121
|
"""
|
|
@@ -1099,7 +1145,7 @@ class GoogleMailApp(APIApplication):
|
|
|
1099
1145
|
response.raise_for_status()
|
|
1100
1146
|
return response.json()
|
|
1101
1147
|
|
|
1102
|
-
def
|
|
1148
|
+
def delete_filter(
|
|
1103
1149
|
self,
|
|
1104
1150
|
userId,
|
|
1105
1151
|
id,
|
|
@@ -1116,8 +1162,8 @@ class GoogleMailApp(APIApplication):
|
|
|
1116
1162
|
xgafv=None,
|
|
1117
1163
|
) -> Any:
|
|
1118
1164
|
"""
|
|
1119
|
-
|
|
1120
|
-
|
|
1165
|
+
Deletes a specific Gmail filter using its unique ID for a specified user account. This action permanently removes the filter and its associated automation rules, such as applying labels or forwarding messages, from the user's Gmail settings.
|
|
1166
|
+
|
|
1121
1167
|
Args:
|
|
1122
1168
|
userId (string): userId
|
|
1123
1169
|
id (string): id
|
|
@@ -1132,10 +1178,10 @@ class GoogleMailApp(APIApplication):
|
|
|
1132
1178
|
upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
|
|
1133
1179
|
uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
|
|
1134
1180
|
xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
|
|
1135
|
-
|
|
1181
|
+
|
|
1136
1182
|
Returns:
|
|
1137
1183
|
Any: No Content
|
|
1138
|
-
|
|
1184
|
+
|
|
1139
1185
|
Tags:
|
|
1140
1186
|
settings, Filters
|
|
1141
1187
|
"""
|
|
@@ -1165,7 +1211,7 @@ class GoogleMailApp(APIApplication):
|
|
|
1165
1211
|
response.raise_for_status()
|
|
1166
1212
|
return response.json()
|
|
1167
1213
|
|
|
1168
|
-
def
|
|
1214
|
+
def get_all_filters(
|
|
1169
1215
|
self,
|
|
1170
1216
|
userId,
|
|
1171
1217
|
access_token=None,
|
|
@@ -1181,8 +1227,8 @@ class GoogleMailApp(APIApplication):
|
|
|
1181
1227
|
xgafv=None,
|
|
1182
1228
|
) -> dict[str, Any]:
|
|
1183
1229
|
"""
|
|
1184
|
-
|
|
1185
|
-
|
|
1230
|
+
Retrieves all configured email filters for a specified Gmail user ID. It fetches a list of a user's filters, including their matching criteria and automated actions, providing a comprehensive overview of their email organization rules via the Gmail API.
|
|
1231
|
+
|
|
1186
1232
|
Args:
|
|
1187
1233
|
userId (string): userId
|
|
1188
1234
|
access_token (string): OAuth access token. Example: '{{access_token}}'.
|
|
@@ -1196,10 +1242,10 @@ class GoogleMailApp(APIApplication):
|
|
|
1196
1242
|
upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
|
|
1197
1243
|
uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
|
|
1198
1244
|
xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
|
|
1199
|
-
|
|
1245
|
+
|
|
1200
1246
|
Returns:
|
|
1201
1247
|
dict[str, Any]: Successful response
|
|
1202
|
-
|
|
1248
|
+
|
|
1203
1249
|
Tags:
|
|
1204
1250
|
settings, Filters
|
|
1205
1251
|
"""
|
|
@@ -1227,7 +1273,7 @@ class GoogleMailApp(APIApplication):
|
|
|
1227
1273
|
response.raise_for_status()
|
|
1228
1274
|
return response.json()
|
|
1229
1275
|
|
|
1230
|
-
def
|
|
1276
|
+
def create_filter(
|
|
1231
1277
|
self,
|
|
1232
1278
|
userId,
|
|
1233
1279
|
access_token=None,
|
|
@@ -1246,8 +1292,8 @@ class GoogleMailApp(APIApplication):
|
|
|
1246
1292
|
id=None,
|
|
1247
1293
|
) -> dict[str, Any]:
|
|
1248
1294
|
"""
|
|
1249
|
-
|
|
1250
|
-
|
|
1295
|
+
Sets up a new automated email filter in Gmail. It requires defining matching criteria (like sender or subject) and an action (like adding a label) to apply to emails that meet those criteria for a specified user account.
|
|
1296
|
+
|
|
1251
1297
|
Args:
|
|
1252
1298
|
userId (string): userId
|
|
1253
1299
|
access_token (string): OAuth access token. Example: '{{access_token}}'.
|
|
@@ -1292,10 +1338,10 @@ class GoogleMailApp(APIApplication):
|
|
|
1292
1338
|
"id": "in aute anim"
|
|
1293
1339
|
}
|
|
1294
1340
|
```
|
|
1295
|
-
|
|
1341
|
+
|
|
1296
1342
|
Returns:
|
|
1297
1343
|
dict[str, Any]: Successful response
|
|
1298
|
-
|
|
1344
|
+
|
|
1299
1345
|
Tags:
|
|
1300
1346
|
settings, Filters
|
|
1301
1347
|
"""
|
|
@@ -1336,20 +1382,20 @@ class GoogleMailApp(APIApplication):
|
|
|
1336
1382
|
self.send_draft,
|
|
1337
1383
|
self.get_draft,
|
|
1338
1384
|
self.list_drafts,
|
|
1339
|
-
self.
|
|
1385
|
+
self.get_message_details,
|
|
1340
1386
|
self.list_messages,
|
|
1341
1387
|
self.list_labels,
|
|
1342
1388
|
self.create_label,
|
|
1343
1389
|
self.get_profile,
|
|
1344
1390
|
# Auto Generated from openapi spec
|
|
1345
|
-
self.
|
|
1346
|
-
self.
|
|
1347
|
-
self.
|
|
1348
|
-
self.
|
|
1349
|
-
self.
|
|
1350
|
-
self.
|
|
1351
|
-
self.
|
|
1352
|
-
self.
|
|
1353
|
-
self.
|
|
1354
|
-
self.
|
|
1391
|
+
self.update_draft,
|
|
1392
|
+
self.trash_message,
|
|
1393
|
+
self.untrash_message,
|
|
1394
|
+
self.get_attachment,
|
|
1395
|
+
self.update_label,
|
|
1396
|
+
self.delete_label,
|
|
1397
|
+
self.get_filter,
|
|
1398
|
+
self.delete_filter,
|
|
1399
|
+
self.get_all_filters,
|
|
1400
|
+
self.create_filter,
|
|
1355
1401
|
]
|