universal-mcp-applications 0.1.17__py3-none-any.whl → 0.1.33__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/BEST_PRACTICES.md +166 -0
- universal_mcp/applications/ahrefs/README.md +3 -3
- universal_mcp/applications/airtable/README.md +3 -3
- universal_mcp/applications/airtable/app.py +0 -1
- universal_mcp/applications/apollo/app.py +0 -1
- universal_mcp/applications/asana/README.md +3 -3
- universal_mcp/applications/aws_s3/README.md +29 -0
- universal_mcp/applications/aws_s3/app.py +40 -39
- universal_mcp/applications/bill/README.md +249 -0
- universal_mcp/applications/browser_use/README.md +1 -0
- universal_mcp/applications/browser_use/__init__.py +0 -0
- universal_mcp/applications/browser_use/app.py +71 -0
- universal_mcp/applications/calendly/README.md +45 -45
- universal_mcp/applications/calendly/app.py +125 -125
- universal_mcp/applications/canva/README.md +35 -35
- universal_mcp/applications/canva/app.py +95 -99
- universal_mcp/applications/clickup/README.md +4 -4
- universal_mcp/applications/confluence/app.py +0 -1
- universal_mcp/applications/contentful/README.md +1 -2
- universal_mcp/applications/contentful/app.py +4 -5
- universal_mcp/applications/crustdata/README.md +3 -3
- universal_mcp/applications/domain_checker/README.md +2 -2
- universal_mcp/applications/domain_checker/app.py +11 -15
- universal_mcp/applications/e2b/README.md +4 -4
- universal_mcp/applications/e2b/app.py +4 -4
- universal_mcp/applications/elevenlabs/README.md +3 -77
- universal_mcp/applications/elevenlabs/app.py +18 -15
- universal_mcp/applications/exa/README.md +7 -7
- universal_mcp/applications/exa/app.py +17 -17
- universal_mcp/applications/falai/README.md +13 -12
- universal_mcp/applications/falai/app.py +34 -35
- universal_mcp/applications/figma/README.md +3 -3
- universal_mcp/applications/file_system/README.md +13 -0
- universal_mcp/applications/file_system/app.py +9 -9
- universal_mcp/applications/firecrawl/README.md +9 -9
- universal_mcp/applications/firecrawl/app.py +46 -46
- universal_mcp/applications/fireflies/README.md +14 -14
- universal_mcp/applications/fireflies/app.py +164 -57
- universal_mcp/applications/fpl/README.md +12 -12
- universal_mcp/applications/fpl/app.py +54 -55
- universal_mcp/applications/ghost_content/app.py +0 -1
- universal_mcp/applications/github/README.md +10 -10
- universal_mcp/applications/github/app.py +50 -52
- universal_mcp/applications/google_calendar/README.md +10 -10
- universal_mcp/applications/google_calendar/app.py +50 -49
- universal_mcp/applications/google_docs/README.md +14 -14
- universal_mcp/applications/google_docs/app.py +307 -233
- universal_mcp/applications/google_drive/README.md +54 -57
- universal_mcp/applications/google_drive/app.py +270 -261
- universal_mcp/applications/google_gemini/README.md +3 -14
- universal_mcp/applications/google_gemini/app.py +15 -18
- universal_mcp/applications/google_mail/README.md +20 -20
- universal_mcp/applications/google_mail/app.py +110 -109
- universal_mcp/applications/google_searchconsole/README.md +10 -10
- universal_mcp/applications/google_searchconsole/app.py +37 -37
- universal_mcp/applications/google_sheet/README.md +25 -25
- universal_mcp/applications/google_sheet/app.py +270 -266
- universal_mcp/applications/hashnode/README.md +6 -3
- universal_mcp/applications/hashnode/app.py +174 -25
- universal_mcp/applications/http_tools/README.md +5 -5
- universal_mcp/applications/http_tools/app.py +10 -11
- universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
- universal_mcp/applications/hubspot/api_segments/api_segment_base.py +54 -0
- universal_mcp/applications/hubspot/api_segments/crm_api.py +7337 -0
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +1467 -0
- universal_mcp/applications/hubspot/app.py +2 -15
- universal_mcp/applications/jira/app.py +0 -1
- universal_mcp/applications/klaviyo/README.md +0 -36
- universal_mcp/applications/linkedin/README.md +18 -4
- universal_mcp/applications/linkedin/app.py +763 -162
- universal_mcp/applications/mailchimp/README.md +3 -3
- universal_mcp/applications/markitdown/app.py +10 -5
- universal_mcp/applications/ms_teams/README.md +31 -31
- universal_mcp/applications/ms_teams/app.py +151 -151
- universal_mcp/applications/neon/README.md +3 -3
- universal_mcp/applications/onedrive/README.md +24 -0
- universal_mcp/applications/onedrive/__init__.py +1 -0
- universal_mcp/applications/onedrive/app.py +338 -0
- universal_mcp/applications/openai/README.md +18 -17
- universal_mcp/applications/openai/app.py +40 -39
- universal_mcp/applications/outlook/README.md +9 -9
- universal_mcp/applications/outlook/app.py +307 -225
- universal_mcp/applications/perplexity/README.md +4 -4
- universal_mcp/applications/perplexity/app.py +4 -4
- universal_mcp/applications/posthog/README.md +128 -127
- universal_mcp/applications/reddit/README.md +21 -124
- universal_mcp/applications/reddit/app.py +51 -68
- universal_mcp/applications/resend/README.md +29 -29
- universal_mcp/applications/resend/app.py +116 -117
- universal_mcp/applications/rocketlane/app.py +0 -1
- universal_mcp/applications/scraper/README.md +7 -4
- universal_mcp/applications/scraper/__init__.py +1 -1
- universal_mcp/applications/scraper/app.py +341 -103
- universal_mcp/applications/semrush/README.md +3 -0
- universal_mcp/applications/serpapi/README.md +3 -3
- universal_mcp/applications/serpapi/app.py +14 -14
- universal_mcp/applications/sharepoint/README.md +19 -0
- universal_mcp/applications/sharepoint/app.py +285 -173
- universal_mcp/applications/shopify/app.py +0 -1
- universal_mcp/applications/shortcut/README.md +3 -3
- universal_mcp/applications/slack/README.md +23 -0
- universal_mcp/applications/slack/app.py +79 -48
- universal_mcp/applications/spotify/README.md +3 -3
- universal_mcp/applications/supabase/README.md +3 -3
- universal_mcp/applications/tavily/README.md +4 -4
- universal_mcp/applications/tavily/app.py +4 -4
- universal_mcp/applications/twilio/README.md +15 -0
- universal_mcp/applications/twitter/README.md +92 -89
- universal_mcp/applications/twitter/api_segments/compliance_api.py +13 -15
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +20 -20
- universal_mcp/applications/twitter/api_segments/dm_events_api.py +12 -12
- universal_mcp/applications/twitter/api_segments/likes_api.py +12 -12
- universal_mcp/applications/twitter/api_segments/lists_api.py +37 -39
- universal_mcp/applications/twitter/api_segments/spaces_api.py +24 -24
- universal_mcp/applications/twitter/api_segments/trends_api.py +4 -4
- universal_mcp/applications/twitter/api_segments/tweets_api.py +105 -105
- universal_mcp/applications/twitter/api_segments/usage_api.py +4 -4
- universal_mcp/applications/twitter/api_segments/users_api.py +136 -136
- universal_mcp/applications/twitter/app.py +15 -11
- universal_mcp/applications/whatsapp/README.md +12 -12
- universal_mcp/applications/whatsapp/app.py +66 -67
- universal_mcp/applications/whatsapp/audio.py +39 -35
- universal_mcp/applications/whatsapp/whatsapp.py +176 -154
- universal_mcp/applications/whatsapp_business/README.md +23 -23
- universal_mcp/applications/whatsapp_business/app.py +92 -92
- universal_mcp/applications/yahoo_finance/README.md +17 -0
- universal_mcp/applications/yahoo_finance/__init__.py +1 -0
- universal_mcp/applications/yahoo_finance/app.py +300 -0
- universal_mcp/applications/youtube/README.md +46 -46
- universal_mcp/applications/youtube/app.py +208 -195
- universal_mcp/applications/zenquotes/README.md +1 -1
- universal_mcp/applications/zenquotes/__init__.py +2 -0
- universal_mcp/applications/zenquotes/app.py +5 -5
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/METADATA +5 -90
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/RECORD +137 -128
- universal_mcp/applications/replicate/README.md +0 -18
- universal_mcp/applications/replicate/__init__.py +0 -1
- universal_mcp/applications/replicate/app.py +0 -493
- universal_mcp/applications/unipile/README.md +0 -28
- universal_mcp/applications/unipile/__init__.py +0 -1
- universal_mcp/applications/unipile/app.py +0 -827
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import os
|
|
1
2
|
from typing import Any
|
|
2
3
|
|
|
3
|
-
from youtube_transcript_api import YouTubeTranscriptApi
|
|
4
|
-
|
|
5
4
|
from universal_mcp.applications.application import APIApplication
|
|
6
5
|
from universal_mcp.integrations import Integration
|
|
6
|
+
from youtube_transcript_api import YouTubeTranscriptApi
|
|
7
|
+
from youtube_transcript_api.proxies import WebshareProxyConfig
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class YoutubeApp(APIApplication):
|
|
10
|
-
def __init__(self, integration: Integration = None, **kwargs) -> None:
|
|
11
|
+
def __init__(self, integration: Integration | None = None, **kwargs) -> None:
|
|
11
12
|
"""
|
|
12
13
|
Initializes an instance of a YouTube application integration.
|
|
13
14
|
|
|
@@ -33,7 +34,7 @@ class YoutubeApp(APIApplication):
|
|
|
33
34
|
) -> Any:
|
|
34
35
|
"""
|
|
35
36
|
Retrieves a paginated list of all reports for a specific job ID, with options for filtering by date. Unlike `get_jobs_job_reports_report`, which fetches a single report by its ID, this function returns a collection of reports associated with a job.
|
|
36
|
-
|
|
37
|
+
|
|
37
38
|
Args:
|
|
38
39
|
jobId: The unique identifier for the job whose reports are to be retrieved.
|
|
39
40
|
createdAfter: Optional; filter to include only reports created after this date (ISO 8601 format).
|
|
@@ -42,13 +43,13 @@ class YoutubeApp(APIApplication):
|
|
|
42
43
|
pageToken: Optional; a token identifying the page of results to return.
|
|
43
44
|
startTimeAtOrAfter: Optional; filter to include only reports starting at or after this date-time (ISO 8601 format).
|
|
44
45
|
startTimeBefore: Optional; filter to include only reports with a start time before this date-time (ISO 8601 format).
|
|
45
|
-
|
|
46
|
+
|
|
46
47
|
Returns:
|
|
47
48
|
A JSON object containing the job reports matching the provided criteria.
|
|
48
|
-
|
|
49
|
+
|
|
49
50
|
Raises:
|
|
50
51
|
ValueError: Raised if the required 'jobId' parameter is missing.
|
|
51
|
-
|
|
52
|
+
|
|
52
53
|
Tags:
|
|
53
54
|
retrieve, report, job-management, batch
|
|
54
55
|
"""
|
|
@@ -71,24 +72,22 @@ class YoutubeApp(APIApplication):
|
|
|
71
72
|
response.raise_for_status()
|
|
72
73
|
return response.json()
|
|
73
74
|
|
|
74
|
-
def get_job_report(
|
|
75
|
-
self, jobId, reportId, onBehalfOfContentOwner=None
|
|
76
|
-
) -> Any:
|
|
75
|
+
def get_job_report(self, jobId, reportId, onBehalfOfContentOwner=None) -> Any:
|
|
77
76
|
"""
|
|
78
77
|
Fetches a single, specific report identified by its `reportId` from within a given `jobId`. This retrieves an individual record, distinguishing it from `get_jobs_job_reports`, which returns a list of reports for a job. The request can be made on behalf of a content owner.
|
|
79
|
-
|
|
78
|
+
|
|
80
79
|
Args:
|
|
81
80
|
jobId: The unique identifier for the job containing the report (required).
|
|
82
81
|
reportId: The unique identifier for the report to fetch (required).
|
|
83
82
|
onBehalfOfContentOwner: Optional; specifies the content owner for whom the request is made.
|
|
84
|
-
|
|
83
|
+
|
|
85
84
|
Returns:
|
|
86
85
|
A JSON object containing the fetched report details.
|
|
87
|
-
|
|
86
|
+
|
|
88
87
|
Raises:
|
|
89
88
|
ValueError: Raised if 'jobId' or 'reportId' is not provided.
|
|
90
89
|
requests.HTTPError: Raised if the API request fails (e.g., invalid permissions or resource not found).
|
|
91
|
-
|
|
90
|
+
|
|
92
91
|
Tags:
|
|
93
92
|
retrieve, report, job, api, json
|
|
94
93
|
"""
|
|
@@ -109,18 +108,18 @@ class YoutubeApp(APIApplication):
|
|
|
109
108
|
def delete_job(self, jobId, onBehalfOfContentOwner=None) -> Any:
|
|
110
109
|
"""
|
|
111
110
|
Deletes a specific job resource using its unique `jobId`, optionally on behalf of a content owner. This action permanently removes the job itself, differentiating it from functions that only retrieve or manage job reports.
|
|
112
|
-
|
|
111
|
+
|
|
113
112
|
Args:
|
|
114
113
|
jobId: The unique identifier of the job to delete. Required.
|
|
115
114
|
onBehalfOfContentOwner: Optional. Content owner ID for delegated authorization.
|
|
116
|
-
|
|
115
|
+
|
|
117
116
|
Returns:
|
|
118
117
|
JSON response from the API as a Python dictionary.
|
|
119
|
-
|
|
118
|
+
|
|
120
119
|
Raises:
|
|
121
120
|
ValueError: Raised when jobId is None.
|
|
122
121
|
requests.exceptions.HTTPError: Raised for failed HTTP requests (e.g., invalid job ID, permission errors).
|
|
123
|
-
|
|
122
|
+
|
|
124
123
|
Tags:
|
|
125
124
|
delete, jobs, async_job, management
|
|
126
125
|
"""
|
|
@@ -145,19 +144,19 @@ class YoutubeApp(APIApplication):
|
|
|
145
144
|
) -> Any:
|
|
146
145
|
"""
|
|
147
146
|
Retrieves a paginated list of asynchronous jobs from the YouTube Reporting API. Supports filtering by content owner and including system-managed jobs. This function lists multiple jobs, distinct from `get_jobs_job_reports` which retrieves reports for a single job.
|
|
148
|
-
|
|
147
|
+
|
|
149
148
|
Args:
|
|
150
149
|
includeSystemManaged: Optional boolean indicating whether to include system-managed jobs.
|
|
151
150
|
onBehalfOfContentOwner: Optional string representing the content owner on behalf of which the request is made.
|
|
152
151
|
pageSize: Optional integer specifying the number of jobs per page.
|
|
153
152
|
pageToken: Optional string for paginated results page token.
|
|
154
|
-
|
|
153
|
+
|
|
155
154
|
Returns:
|
|
156
155
|
JSON-decoded response containing the list of jobs and related metadata.
|
|
157
|
-
|
|
156
|
+
|
|
158
157
|
Raises:
|
|
159
158
|
HTTPError: Raised if the server returns an unsuccessful status code.
|
|
160
|
-
|
|
159
|
+
|
|
161
160
|
Tags:
|
|
162
161
|
list, scrape, management
|
|
163
162
|
"""
|
|
@@ -179,17 +178,17 @@ class YoutubeApp(APIApplication):
|
|
|
179
178
|
def download_report_media(self, resourceName) -> Any:
|
|
180
179
|
"""
|
|
181
180
|
Downloads the content of a bulk data report from the YouTube Reporting API by its unique `resourceName`. This function retrieves the actual media file generated by a reporting job, distinct from functions that only fetch report metadata.
|
|
182
|
-
|
|
181
|
+
|
|
183
182
|
Args:
|
|
184
183
|
resourceName: The name of the media resource to retrieve. Required and cannot be None.
|
|
185
|
-
|
|
184
|
+
|
|
186
185
|
Returns:
|
|
187
186
|
JSON-formatted data representing the media resource.
|
|
188
|
-
|
|
187
|
+
|
|
189
188
|
Raises:
|
|
190
189
|
ValueError: If 'resourceName' is None.
|
|
191
190
|
requests.exceptions.HTTPError: If the HTTP request fails, such as a 404 for a non-existent resource.
|
|
192
|
-
|
|
191
|
+
|
|
193
192
|
Tags:
|
|
194
193
|
retrieve, media, json, http, get
|
|
195
194
|
"""
|
|
@@ -210,19 +209,19 @@ class YoutubeApp(APIApplication):
|
|
|
210
209
|
) -> Any:
|
|
211
210
|
"""
|
|
212
211
|
Retrieves a list of available report types from the YouTube Reporting API, supporting pagination and filtering. This function returns metadata about what kinds of reports can be generated, distinct from functions like `get_reports` that fetch actual report content.
|
|
213
|
-
|
|
212
|
+
|
|
214
213
|
Args:
|
|
215
214
|
includeSystemManaged: Boolean indicating whether to include system-managed report types in results.
|
|
216
215
|
onBehalfOfContentOwner: Content owner ID for delegated authority requests.
|
|
217
216
|
pageSize: Maximum number of items to return per response page.
|
|
218
217
|
pageToken: Token identifying a specific results page for pagination.
|
|
219
|
-
|
|
218
|
+
|
|
220
219
|
Returns:
|
|
221
220
|
Dictionary containing report type entries and pagination details, typically including 'items' list and 'nextPageToken' if applicable.
|
|
222
|
-
|
|
221
|
+
|
|
223
222
|
Raises:
|
|
224
223
|
HTTPError: If the API request fails due to network issues, authentication problems, or invalid parameters.
|
|
225
|
-
|
|
224
|
+
|
|
226
225
|
Tags:
|
|
227
226
|
retrieve, list, api-resource, filtering, pagination, report-management
|
|
228
227
|
"""
|
|
@@ -246,18 +245,18 @@ class YoutubeApp(APIApplication):
|
|
|
246
245
|
) -> Any:
|
|
247
246
|
"""
|
|
248
247
|
Deletes a specific YouTube caption resource using its unique ID, with optional delegation for content owners. This management function removes the entire caption track, unlike `get_captions` which only retrieves the transcript text for a given video ID.
|
|
249
|
-
|
|
248
|
+
|
|
250
249
|
Args:
|
|
251
250
|
id: Optional unique identifier for the caption resource to delete.
|
|
252
251
|
onBehalfOf: Optional parameter identifying the user on whose behalf the request is made.
|
|
253
252
|
onBehalfOfContentOwner: Optional parameter specifying the content owner authorizing the request.
|
|
254
|
-
|
|
253
|
+
|
|
255
254
|
Returns:
|
|
256
255
|
JSON response containing the result of the DELETE operation from the YouTube API.
|
|
257
|
-
|
|
256
|
+
|
|
258
257
|
Raises:
|
|
259
258
|
HTTPError: Raised when the HTTP request fails, such as invalid ID, authentication failures, or API limitations exceeded.
|
|
260
|
-
|
|
259
|
+
|
|
261
260
|
Tags:
|
|
262
261
|
delete, captions, api, management
|
|
263
262
|
"""
|
|
@@ -278,17 +277,17 @@ class YoutubeApp(APIApplication):
|
|
|
278
277
|
def get_transcript_text(self, video_id: str) -> str:
|
|
279
278
|
"""
|
|
280
279
|
Fetches the full text transcript for a YouTube video using its ID. Unlike other methods using the official API, this function utilizes the `youtube-transcript-api` library to extract and concatenate all caption snippets into a single, timestamp-free string of the video's spoken content.
|
|
281
|
-
|
|
280
|
+
|
|
282
281
|
Args:
|
|
283
282
|
video_id: The unique identifier for the target video (required)
|
|
284
|
-
|
|
283
|
+
|
|
285
284
|
Returns:
|
|
286
285
|
String containing the complete transcript text without timestamps
|
|
287
|
-
|
|
286
|
+
|
|
288
287
|
Raises:
|
|
289
288
|
ValueError: Raised when required 'video_id' parameter is missing
|
|
290
289
|
Exception: Raised when transcript cannot be retrieved (e.g., no captions available)
|
|
291
|
-
|
|
290
|
+
|
|
292
291
|
Tags:
|
|
293
292
|
retrieve, transcript, text, captions
|
|
294
293
|
"""
|
|
@@ -296,7 +295,21 @@ class YoutubeApp(APIApplication):
|
|
|
296
295
|
raise ValueError("Missing required parameter 'video_id'")
|
|
297
296
|
|
|
298
297
|
try:
|
|
299
|
-
|
|
298
|
+
proxy_username = os.getenv("PROXY_USERNAME")
|
|
299
|
+
proxy_password = os.getenv("PROXY_PASSWORD")
|
|
300
|
+
proxy_port = int(os.getenv("PROXY_PORT", 80))
|
|
301
|
+
|
|
302
|
+
if not proxy_username or not proxy_password:
|
|
303
|
+
raise ValueError(
|
|
304
|
+
"PROXY_USERNAME and PROXY_PASSWORD must be set when using proxy"
|
|
305
|
+
)
|
|
306
|
+
api = YouTubeTranscriptApi(
|
|
307
|
+
proxy_config=WebshareProxyConfig(
|
|
308
|
+
proxy_username=proxy_username,
|
|
309
|
+
proxy_password=proxy_password,
|
|
310
|
+
proxy_port=proxy_port,
|
|
311
|
+
),
|
|
312
|
+
)
|
|
300
313
|
transcript = api.fetch(video_id)
|
|
301
314
|
|
|
302
315
|
transcript_text = " ".join(
|
|
@@ -312,16 +325,16 @@ class YoutubeApp(APIApplication):
|
|
|
312
325
|
def delete_comments(self, id=None) -> Any:
|
|
313
326
|
"""
|
|
314
327
|
Permanently removes a specific comment identified by its unique ID via a DELETE request. Unlike moderation functions like `add_comments_mark_as_spam`, which only alter a comment's state, this action is irreversible and deletes the resource. An `id` is required to specify the target comment.
|
|
315
|
-
|
|
328
|
+
|
|
316
329
|
Args:
|
|
317
330
|
id: Optional ID of the comment to be deleted. If not provided, and based on implementation, all comments may be deleted.
|
|
318
|
-
|
|
331
|
+
|
|
319
332
|
Returns:
|
|
320
333
|
The JSON response from the server after attempting to delete the comment(s).
|
|
321
|
-
|
|
334
|
+
|
|
322
335
|
Raises:
|
|
323
336
|
requests.RequestException: Raised if there is a network error or an invalid response from the server.
|
|
324
|
-
|
|
337
|
+
|
|
325
338
|
Tags:
|
|
326
339
|
delete, comments, management
|
|
327
340
|
"""
|
|
@@ -333,16 +346,16 @@ class YoutubeApp(APIApplication):
|
|
|
333
346
|
def mark_comment_as_spam(self, id=None) -> Any:
|
|
334
347
|
"""
|
|
335
348
|
Marks a specified YouTube comment as spam via a POST request to the API. This moderation action is distinct from deleting comments (`delete_comments`) or setting other statuses like 'approved' or 'rejected' (`add_comments_set_moderation_status`).
|
|
336
|
-
|
|
349
|
+
|
|
337
350
|
Args:
|
|
338
351
|
id: Optional unique identifier of the comment to mark as spam (included in request parameters when provided).
|
|
339
|
-
|
|
352
|
+
|
|
340
353
|
Returns:
|
|
341
354
|
JSON response from the API containing the operation result.
|
|
342
|
-
|
|
355
|
+
|
|
343
356
|
Raises:
|
|
344
357
|
HTTPError: If the POST request fails or returns a non-200 status code.
|
|
345
|
-
|
|
358
|
+
|
|
346
359
|
Tags:
|
|
347
360
|
comments, spam, post-request, api, moderation
|
|
348
361
|
"""
|
|
@@ -357,18 +370,18 @@ class YoutubeApp(APIApplication):
|
|
|
357
370
|
) -> Any:
|
|
358
371
|
"""
|
|
359
372
|
Sets the moderation status (e.g., 'approved', 'rejected') for specified comments and can optionally ban the author. Unlike `add_comments_mark_as_spam`, this function allows for various moderation states, providing more granular control over comment management.
|
|
360
|
-
|
|
373
|
+
|
|
361
374
|
Args:
|
|
362
375
|
banAuthor: Optional boolean indicating whether to ban the comment's author
|
|
363
376
|
id: Optional string representing the unique identifier of the comment to moderate
|
|
364
377
|
moderationStatus: Optional string specifying the new moderation status (e.g., 'approved', 'rejected')
|
|
365
|
-
|
|
378
|
+
|
|
366
379
|
Returns:
|
|
367
380
|
JSON response from the server containing the result of the moderation operation
|
|
368
|
-
|
|
381
|
+
|
|
369
382
|
Raises:
|
|
370
383
|
requests.HTTPError: Raised when the HTTP request fails (e.g., invalid parameters or server errors)
|
|
371
|
-
|
|
384
|
+
|
|
372
385
|
Tags:
|
|
373
386
|
moderation, comments, management, api-client, status-update, ban-author
|
|
374
387
|
"""
|
|
@@ -391,18 +404,18 @@ class YoutubeApp(APIApplication):
|
|
|
391
404
|
) -> Any:
|
|
392
405
|
"""
|
|
393
406
|
Deletes a YouTube live broadcast event by its unique ID via the API. This request can be made on behalf of a content owner or channel. It targets the `/liveBroadcasts` endpoint, distinguishing it from `delete_livestreams` which manages the actual content stream.
|
|
394
|
-
|
|
407
|
+
|
|
395
408
|
Args:
|
|
396
409
|
id: Optional; Unique identifier of the live broadcast to delete (str).
|
|
397
410
|
onBehalfOfContentOwner: Optional; Content owner acting on behalf of (str).
|
|
398
411
|
onBehalfOfContentOwnerChannel: Optional; Channel ID linked to content owner (str).
|
|
399
|
-
|
|
412
|
+
|
|
400
413
|
Returns:
|
|
401
414
|
Dict[str, Any] containing the JSON-parsed response from the API request.
|
|
402
|
-
|
|
415
|
+
|
|
403
416
|
Raises:
|
|
404
417
|
requests.HTTPError: Raised for any HTTP request failures or invalid status codes (4XX/5XX).
|
|
405
|
-
|
|
418
|
+
|
|
406
419
|
Tags:
|
|
407
420
|
delete, live-broadcast, management, api
|
|
408
421
|
"""
|
|
@@ -430,20 +443,20 @@ class YoutubeApp(APIApplication):
|
|
|
430
443
|
) -> Any:
|
|
431
444
|
"""
|
|
432
445
|
Binds a YouTube live broadcast to a video stream using their respective IDs. This action associates the broadcast's metadata with the content stream, optionally performing the action on behalf of a content owner, facilitating the link between a planned event and its live video feed.
|
|
433
|
-
|
|
446
|
+
|
|
434
447
|
Args:
|
|
435
448
|
id: The id of the live broadcast to bind.
|
|
436
449
|
onBehalfOfContentOwner: The YouTube CMS content owner on behalf of whom the operation is performed.
|
|
437
450
|
onBehalfOfContentOwnerChannel: The YouTube channel ID for which the live broadcast is operated.
|
|
438
451
|
part: A comma-separated list of liveBroadcast resource properties to include in the API response.
|
|
439
452
|
streamId: The id of the stream to which the live broadcast is to be bound.
|
|
440
|
-
|
|
453
|
+
|
|
441
454
|
Returns:
|
|
442
455
|
The JSON response object from the YouTube API after attempting to bind the live broadcast to the stream.
|
|
443
|
-
|
|
456
|
+
|
|
444
457
|
Raises:
|
|
445
458
|
HTTPError: Raised if the request to the YouTube API fails, typically due to server errors or invalid responses.
|
|
446
|
-
|
|
459
|
+
|
|
447
460
|
Tags:
|
|
448
461
|
bind, youtube-api, live-broadcast, stream
|
|
449
462
|
"""
|
|
@@ -475,7 +488,7 @@ class YoutubeApp(APIApplication):
|
|
|
475
488
|
) -> Any:
|
|
476
489
|
"""
|
|
477
490
|
Sends control commands to a YouTube live broadcast, identified by its ID. It can display a slate or schedule an action using a time offset. Unlike `add_live_broadcasts_transition`, which alters broadcast status (e.g., 'live'), this function manages in-stream state.
|
|
478
|
-
|
|
491
|
+
|
|
479
492
|
Args:
|
|
480
493
|
displaySlate: Optional; Specifies whether or not to show a slate during the broadcast.
|
|
481
494
|
id: Optional; The ID of the live broadcast to control.
|
|
@@ -484,13 +497,13 @@ class YoutubeApp(APIApplication):
|
|
|
484
497
|
onBehalfOfContentOwnerChannel: Optional; The channel owned by the content owner.
|
|
485
498
|
part: Optional; Specifies a comma-separated list of one or more broadcasts resource properties.
|
|
486
499
|
walltime: Optional; An RFC 3339 timestamp that represents the time at which the action takes place.
|
|
487
|
-
|
|
500
|
+
|
|
488
501
|
Returns:
|
|
489
502
|
The JSON response from the server after controlling the live broadcast.
|
|
490
|
-
|
|
503
|
+
|
|
491
504
|
Raises:
|
|
492
505
|
requests.HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
493
|
-
|
|
506
|
+
|
|
494
507
|
Tags:
|
|
495
508
|
control, live-broadcast, async_job, management
|
|
496
509
|
"""
|
|
@@ -522,20 +535,20 @@ class YoutubeApp(APIApplication):
|
|
|
522
535
|
) -> Any:
|
|
523
536
|
"""
|
|
524
537
|
Changes a YouTube live broadcast's status (e.g., making it 'live' or 'complete') by posting to the API's transition endpoint. This function alters the broadcast's lifecycle state, distinct from other control actions like binding it to a stream, and returns the API's JSON response.
|
|
525
|
-
|
|
538
|
+
|
|
526
539
|
Args:
|
|
527
540
|
broadcastStatus: Optional; The status to which the live broadcast should be transitioned.
|
|
528
541
|
id: Optional; The unique identifier of the broadcast that needs to be transitioned.
|
|
529
542
|
onBehalfOfContentOwner: Optional; The YouTube content owner on whose behalf the API request is being made.
|
|
530
543
|
onBehalfOfContentOwnerChannel: Optional; The YouTube channel ID of the channel associated with the specified content owner.
|
|
531
544
|
part: Optional; A comma-separated list of one or more liveBroadcast resource properties that the API response will include.
|
|
532
|
-
|
|
545
|
+
|
|
533
546
|
Returns:
|
|
534
547
|
The JSON response from the API containing the details of the transitioned live broadcast.
|
|
535
|
-
|
|
548
|
+
|
|
536
549
|
Raises:
|
|
537
550
|
requests.HTTPError: Raised when the HTTP request to the API fails due to a server error or invalid request.
|
|
538
|
-
|
|
551
|
+
|
|
539
552
|
Tags:
|
|
540
553
|
transition, live-broadcast, youtube-api, video-management
|
|
541
554
|
"""
|
|
@@ -558,16 +571,16 @@ class YoutubeApp(APIApplication):
|
|
|
558
571
|
def delete_live_chat_ban(self, id=None) -> Any:
|
|
559
572
|
"""
|
|
560
573
|
Deletes a specific YouTube live chat ban using its unique ID. It sends a DELETE request to the `/liveChat/bans` endpoint to revoke the ban, allowing the user to participate in the chat again.
|
|
561
|
-
|
|
574
|
+
|
|
562
575
|
Args:
|
|
563
576
|
id: Optional; The unique identifier of the live chat ban to delete. If None, no specific ban is targeted.
|
|
564
|
-
|
|
577
|
+
|
|
565
578
|
Returns:
|
|
566
579
|
The JSON response from the server after deletion, typically containing operation details.
|
|
567
|
-
|
|
580
|
+
|
|
568
581
|
Raises:
|
|
569
582
|
requests.HTTPError: Raised if the HTTP request fails, indicating server-side issues or invalid parameters.
|
|
570
|
-
|
|
583
|
+
|
|
571
584
|
Tags:
|
|
572
585
|
delete, management, live-chat, async-job
|
|
573
586
|
"""
|
|
@@ -580,16 +593,16 @@ class YoutubeApp(APIApplication):
|
|
|
580
593
|
def delete_live_chat_message(self, id=None) -> Any:
|
|
581
594
|
"""
|
|
582
595
|
Deletes a specific YouTube live chat message identified by its unique ID. This function targets the `/liveChat/messages` endpoint, distinguishing it from `delete_live_chat_bans` and `delete_live_chat_moderators`, which manage different aspects of a live chat.
|
|
583
|
-
|
|
596
|
+
|
|
584
597
|
Args:
|
|
585
598
|
id: Optional; The identifier of the specific live chat message to be deleted. If not provided, it defaults to None.
|
|
586
|
-
|
|
599
|
+
|
|
587
600
|
Returns:
|
|
588
601
|
A JSON object containing the server's response to the deletion request. It includes details about the operation's success or failure.
|
|
589
|
-
|
|
602
|
+
|
|
590
603
|
Raises:
|
|
591
604
|
HTTPError: Raised if the HTTP request to delete the message fails.
|
|
592
|
-
|
|
605
|
+
|
|
593
606
|
Tags:
|
|
594
607
|
delete, live-chat, message-management
|
|
595
608
|
"""
|
|
@@ -602,16 +615,16 @@ class YoutubeApp(APIApplication):
|
|
|
602
615
|
def delete_live_chat_moderators(self, id=None) -> Any:
|
|
603
616
|
"""
|
|
604
617
|
Deletes a specific YouTube live chat moderator using their unique ID. This function sends a DELETE request to the `/liveChat/moderators` API endpoint and returns the server's JSON response, confirming the successful removal or detailing errors. The moderator ID is a required parameter for this action.
|
|
605
|
-
|
|
618
|
+
|
|
606
619
|
Args:
|
|
607
620
|
id: The ID of the live chat moderator to delete. When None, no deletion occurs (moderator IDs must be explicitly specified).
|
|
608
|
-
|
|
621
|
+
|
|
609
622
|
Returns:
|
|
610
623
|
Parsed JSON response from the server containing deletion confirmation or error details.
|
|
611
|
-
|
|
624
|
+
|
|
612
625
|
Raises:
|
|
613
626
|
requests.HTTPError: Raised for unsuccessful HTTP responses (e.g., invalid ID, authorization failure, or server errors).
|
|
614
|
-
|
|
627
|
+
|
|
615
628
|
Tags:
|
|
616
629
|
delete, moderators, management, live-chat, async_job, ids
|
|
617
630
|
"""
|
|
@@ -624,17 +637,17 @@ class YoutubeApp(APIApplication):
|
|
|
624
637
|
def delete_videos(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
625
638
|
"""
|
|
626
639
|
Deletes a specified YouTube video using its unique ID. The operation can be performed on behalf of a content owner by sending an HTTP DELETE request to the `/videos` endpoint. It's distinct from other video functions that only modify or retrieve metadata, like rating or abuse reports.
|
|
627
|
-
|
|
640
|
+
|
|
628
641
|
Args:
|
|
629
642
|
id: (str, optional): Unique identifier of the video to delete. If omitted, no video ID is specified.
|
|
630
643
|
onBehalfOfContentOwner: (str, optional): Content owner on whose behalf the operation is performed. Defaults to authenticated user.
|
|
631
|
-
|
|
644
|
+
|
|
632
645
|
Returns:
|
|
633
646
|
(Any): Parsed JSON response from the API including deletion status/errors.
|
|
634
|
-
|
|
647
|
+
|
|
635
648
|
Raises:
|
|
636
649
|
requests.HTTPError: Raised when the API request fails (e.g., invalid video ID, insufficient permissions).
|
|
637
|
-
|
|
650
|
+
|
|
638
651
|
Tags:
|
|
639
652
|
delete, video-management, api, async_job
|
|
640
653
|
"""
|
|
@@ -651,17 +664,17 @@ class YoutubeApp(APIApplication):
|
|
|
651
664
|
def get_video_ratings(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
652
665
|
"""
|
|
653
666
|
Retrieves the authenticated user's rating (e.g., 'like', 'dislike') for specified videos. This function fetches existing rating data, distinct from `add_videos_rate` which submits a new rating, and can be performed on behalf of a content owner.
|
|
654
|
-
|
|
667
|
+
|
|
655
668
|
Args:
|
|
656
669
|
id: Optional; The ID of the video for which the rating is to be retrieved. If None, no specific video ID is used in the request.
|
|
657
670
|
onBehalfOfContentOwner: Optional; Identifies the content owner for whom the request is being made.
|
|
658
|
-
|
|
671
|
+
|
|
659
672
|
Returns:
|
|
660
673
|
A JSON object containing the video rating information returned by the API.
|
|
661
|
-
|
|
674
|
+
|
|
662
675
|
Raises:
|
|
663
676
|
HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
664
|
-
|
|
677
|
+
|
|
665
678
|
Tags:
|
|
666
679
|
check, video-management
|
|
667
680
|
"""
|
|
@@ -678,17 +691,17 @@ class YoutubeApp(APIApplication):
|
|
|
678
691
|
def rate_video(self, id=None, rating=None) -> Any:
|
|
679
692
|
"""
|
|
680
693
|
Submits a rating (e.g., 'like', 'dislike') for a video specified by its unique ID. This function sends a POST request to the YouTube API's `/videos/rate` endpoint and returns the server's JSON response upon successful submission.
|
|
681
|
-
|
|
694
|
+
|
|
682
695
|
Args:
|
|
683
696
|
id: Optional; The unique identifier of the video to rate. If None, the video ID is not included in the request.
|
|
684
697
|
rating: Optional; The rating value to assign to the video. If None, the rating is not included in the request.
|
|
685
|
-
|
|
698
|
+
|
|
686
699
|
Returns:
|
|
687
700
|
The JSON response from the server after submitting the rating.
|
|
688
|
-
|
|
701
|
+
|
|
689
702
|
Raises:
|
|
690
703
|
HTTPError: Raised when the server returns an HTTP error status.
|
|
691
|
-
|
|
704
|
+
|
|
692
705
|
Tags:
|
|
693
706
|
rate, video-management, importance
|
|
694
707
|
"""
|
|
@@ -703,16 +716,16 @@ class YoutubeApp(APIApplication):
|
|
|
703
716
|
def report_video_for_abuse(self, onBehalfOfContentOwner=None) -> Any:
|
|
704
717
|
"""
|
|
705
718
|
Reports a video for abuse via a POST request to the YouTube API. An optional parameter allows a content owner to submit the report on behalf of their account, flagging potentially inappropriate content for review by YouTube.
|
|
706
|
-
|
|
719
|
+
|
|
707
720
|
Args:
|
|
708
721
|
onBehalfOfContentOwner: Optional; YouTube content owner ID acting as the reporting entity (for partner accounts).
|
|
709
|
-
|
|
722
|
+
|
|
710
723
|
Returns:
|
|
711
724
|
Dict containing the JSON response from the YouTube API after reporting abuse.
|
|
712
|
-
|
|
725
|
+
|
|
713
726
|
Raises:
|
|
714
727
|
HTTPError: Raised when the YouTube API request fails, typically due to authentication errors or invalid parameters.
|
|
715
|
-
|
|
728
|
+
|
|
716
729
|
Tags:
|
|
717
730
|
report, abuse, video, content, api
|
|
718
731
|
"""
|
|
@@ -729,17 +742,17 @@ class YoutubeApp(APIApplication):
|
|
|
729
742
|
def set_channel_watermark(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
|
|
730
743
|
"""
|
|
731
744
|
Sets a branding watermark on a specified YouTube channel. The operation targets the channel using its ID and can be executed on behalf of a content owner. This function contrasts with `add_watermarks_unset`, which removes the watermark.
|
|
732
|
-
|
|
745
|
+
|
|
733
746
|
Args:
|
|
734
747
|
channelId: Optional; The ID of the YouTube channel on which to set the watermark.
|
|
735
748
|
onBehalfOfContentOwner: Optional; The content owner's ID that the request is made on behalf of.
|
|
736
|
-
|
|
749
|
+
|
|
737
750
|
Returns:
|
|
738
751
|
The JSON response from the API call, which includes details about the watermark setting operation.
|
|
739
|
-
|
|
752
|
+
|
|
740
753
|
Raises:
|
|
741
754
|
requests.RequestException: Raised if there is an error with the API request, such as connection issues or invalid response status.
|
|
742
|
-
|
|
755
|
+
|
|
743
756
|
Tags:
|
|
744
757
|
watermark, youtube, management, channel-config
|
|
745
758
|
"""
|
|
@@ -756,20 +769,22 @@ class YoutubeApp(APIApplication):
|
|
|
756
769
|
response.raise_for_status()
|
|
757
770
|
return response.json()
|
|
758
771
|
|
|
759
|
-
def unset_channel_watermark(
|
|
772
|
+
def unset_channel_watermark(
|
|
773
|
+
self, channelId=None, onBehalfOfContentOwner=None
|
|
774
|
+
) -> Any:
|
|
760
775
|
"""
|
|
761
776
|
Removes the branding watermark for a specified YouTube channel via an API POST request. This operation, the inverse of `add_watermarks_set`, can be executed on behalf of a content owner to unset the channel's current watermark.
|
|
762
|
-
|
|
777
|
+
|
|
763
778
|
Args:
|
|
764
779
|
channelId: Optional; The unique identifier of the YouTube channel from which to remove watermarks.
|
|
765
780
|
onBehalfOfContentOwner: Optional; The content owner that the request is on behalf of, used by YouTube content partners.
|
|
766
|
-
|
|
781
|
+
|
|
767
782
|
Returns:
|
|
768
783
|
The JSON response from the YouTube API after attempting to remove the watermarks.
|
|
769
|
-
|
|
784
|
+
|
|
770
785
|
Raises:
|
|
771
786
|
HTTPError: Raised when there is an error in the HTTP request or if the server returns a status code indicating a client or server error.
|
|
772
|
-
|
|
787
|
+
|
|
773
788
|
Tags:
|
|
774
789
|
remove, watermark, youtube
|
|
775
790
|
"""
|
|
@@ -800,7 +815,7 @@ class YoutubeApp(APIApplication):
|
|
|
800
815
|
) -> Any:
|
|
801
816
|
"""
|
|
802
817
|
Retrieves a list of YouTube activities, such as video uploads or social posts. Supports filtering by channel, authenticated user's feed, publication date, and region. The function also handles pagination to navigate through large result sets and returns the JSON response from the API.
|
|
803
|
-
|
|
818
|
+
|
|
804
819
|
Args:
|
|
805
820
|
channelId: The YouTube channel ID to fetch activities from. If None, fetches from multiple sources (depending on other parameters).
|
|
806
821
|
home: If True, retrieves activities from the user's personalized YouTube home feed. Requires authentication if mine is not specified.
|
|
@@ -811,13 +826,13 @@ class YoutubeApp(APIApplication):
|
|
|
811
826
|
publishedAfter: Filter activities published after this datetime (ISO 8601 format).
|
|
812
827
|
publishedBefore: Filter activities published before this datetime (ISO 8601 format).
|
|
813
828
|
regionCode: Return activities viewable in the specified two-letter ISO country code.
|
|
814
|
-
|
|
829
|
+
|
|
815
830
|
Returns:
|
|
816
831
|
Dictionary containing parsed JSON response with activity data.
|
|
817
|
-
|
|
832
|
+
|
|
818
833
|
Raises:
|
|
819
834
|
requests.HTTPError: Raised when the API request fails due to invalid parameters, authentication issues, or server errors.
|
|
820
|
-
|
|
835
|
+
|
|
821
836
|
Tags:
|
|
822
837
|
retrieve, activities, youtube, api-client, pagination, filter, async
|
|
823
838
|
"""
|
|
@@ -841,22 +856,20 @@ class YoutubeApp(APIApplication):
|
|
|
841
856
|
response.raise_for_status()
|
|
842
857
|
return response.json()
|
|
843
858
|
|
|
844
|
-
def insert_channel_banner(
|
|
845
|
-
self, channelId=None, onBehalfOfContentOwner=None
|
|
846
|
-
) -> Any:
|
|
859
|
+
def insert_channel_banner(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
|
|
847
860
|
"""
|
|
848
861
|
Uploads and sets a new banner image for a specified YouTube channel. This function makes a POST request to the `/channelBanners/insert` endpoint, optionally on behalf of a content owner, and returns details of the newly created banner.
|
|
849
|
-
|
|
862
|
+
|
|
850
863
|
Args:
|
|
851
864
|
channelId: Optional string specifying the unique identifier of the YouTube channel for banner insertion
|
|
852
865
|
onBehalfOfContentOwner: Optional string indicating the content owner's external ID when acting on their behalf
|
|
853
|
-
|
|
866
|
+
|
|
854
867
|
Returns:
|
|
855
868
|
JSON object containing the API response with details of the newly inserted channel banner
|
|
856
|
-
|
|
869
|
+
|
|
857
870
|
Raises:
|
|
858
871
|
HTTPError: Raised when the YouTube Data API request fails (4XX or 5XX status code)
|
|
859
|
-
|
|
872
|
+
|
|
860
873
|
Tags:
|
|
861
874
|
insert, channel, banner, youtube-api, management, async_job
|
|
862
875
|
"""
|
|
@@ -876,17 +889,17 @@ class YoutubeApp(APIApplication):
|
|
|
876
889
|
def delete_channel_sections(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
877
890
|
"""
|
|
878
891
|
Deletes a YouTube channel section by its unique ID via an API request. The operation can be performed on behalf of a content owner for delegated management, returning a JSON response upon success or raising an HTTPError for failures like invalid IDs or insufficient permissions.
|
|
879
|
-
|
|
892
|
+
|
|
880
893
|
Args:
|
|
881
894
|
id: Optional string representing the unique identifier of the target channel section. If omitted, no specific deletion occurs (behavior depends on API implementation).
|
|
882
895
|
onBehalfOfContentOwner: Optional string indicating the content owner on whose behalf the request is made.
|
|
883
|
-
|
|
896
|
+
|
|
884
897
|
Returns:
|
|
885
898
|
JSON-decoded response payload from the API server after deletion attempt.
|
|
886
|
-
|
|
899
|
+
|
|
887
900
|
Raises:
|
|
888
901
|
requests.HTTPError: Raised for HTTP 4xx/5xx responses from the server during the deletion request.
|
|
889
|
-
|
|
902
|
+
|
|
890
903
|
Tags:
|
|
891
904
|
delete, channel-section, management
|
|
892
905
|
"""
|
|
@@ -916,7 +929,7 @@ class YoutubeApp(APIApplication):
|
|
|
916
929
|
) -> Any:
|
|
917
930
|
"""
|
|
918
931
|
Retrieves channel data from the YouTube API using specific filters like ID, username, or ownership status (`mine`, `managedByMe`). The function supports pagination and localization, returning a JSON object containing details for the targeted channels.
|
|
919
|
-
|
|
932
|
+
|
|
920
933
|
Args:
|
|
921
934
|
categoryId: Category ID to filter channels.
|
|
922
935
|
forUsername: Username to retrieve channels for.
|
|
@@ -929,13 +942,13 @@ class YoutubeApp(APIApplication):
|
|
|
929
942
|
onBehalfOfContentOwner: Content owner ID to retrieve channels on behalf of.
|
|
930
943
|
pageToken: Token for pagination.
|
|
931
944
|
part: Specified parts of the channel resource to include in the response.
|
|
932
|
-
|
|
945
|
+
|
|
933
946
|
Returns:
|
|
934
947
|
JSON response containing the requested channels.
|
|
935
|
-
|
|
948
|
+
|
|
936
949
|
Raises:
|
|
937
950
|
ResponseError: Raised if there is an error in the HTTP response.
|
|
938
|
-
|
|
951
|
+
|
|
939
952
|
Tags:
|
|
940
953
|
search, youtube, channels, management, important
|
|
941
954
|
"""
|
|
@@ -977,7 +990,7 @@ class YoutubeApp(APIApplication):
|
|
|
977
990
|
) -> Any:
|
|
978
991
|
"""
|
|
979
992
|
Retrieves YouTube comment threads using filters like channel ID, video ID, or search terms. It supports pagination and sorting, serving as the primary method for fetching comment data, distinct from other functions in the script that moderate or delete individual comments.
|
|
980
|
-
|
|
993
|
+
|
|
981
994
|
Args:
|
|
982
995
|
allThreadsRelatedToChannelId: Returns all threads associated with the specified channel, including replies
|
|
983
996
|
channelId: Channel ID to filter comment threads
|
|
@@ -990,13 +1003,13 @@ class YoutubeApp(APIApplication):
|
|
|
990
1003
|
searchTerms: Text search query to filter comments
|
|
991
1004
|
textFormat: Formatting for comment text (e.g., 'html', 'plainText')
|
|
992
1005
|
videoId: Video ID to filter associated comment threads
|
|
993
|
-
|
|
1006
|
+
|
|
994
1007
|
Returns:
|
|
995
1008
|
JSON response containing comment thread data and pagination information
|
|
996
|
-
|
|
1009
|
+
|
|
997
1010
|
Raises:
|
|
998
1011
|
HTTPError: Raised for unsuccessful API requests (4xx/5xx status codes)
|
|
999
|
-
|
|
1012
|
+
|
|
1000
1013
|
Tags:
|
|
1001
1014
|
retrieve, comments, pagination, youtube-api, rest, data-fetch
|
|
1002
1015
|
"""
|
|
@@ -1027,19 +1040,19 @@ class YoutubeApp(APIApplication):
|
|
|
1027
1040
|
) -> Any:
|
|
1028
1041
|
"""
|
|
1029
1042
|
Fetches a list of fan funding events from the YouTube API for the authenticated user's channel. Supports pagination, localization, and partial responses to retrieve customized event data like Super Chat or Super Stickers based on specified filter criteria and response parts.
|
|
1030
|
-
|
|
1043
|
+
|
|
1031
1044
|
Args:
|
|
1032
1045
|
hl: Optional; a string representing the language for text values.
|
|
1033
1046
|
maxResults: Optional; an integer specifying the maximum number of results to return.
|
|
1034
1047
|
pageToken: Optional; a string token to retrieve a specific page in a paginated set of results.
|
|
1035
1048
|
part: Optional; a comma-separated list of one or more 'fanFundingEvent' resource properties that the API response will include.
|
|
1036
|
-
|
|
1049
|
+
|
|
1037
1050
|
Returns:
|
|
1038
1051
|
A JSON-decoded response of the fan funding events data retrieved from the API.
|
|
1039
|
-
|
|
1052
|
+
|
|
1040
1053
|
Raises:
|
|
1041
1054
|
HTTPError: Raised if the API request returns a status code that indicates an error.
|
|
1042
|
-
|
|
1055
|
+
|
|
1043
1056
|
Tags:
|
|
1044
1057
|
retrieve, events, fanfunding
|
|
1045
1058
|
"""
|
|
@@ -1061,19 +1074,19 @@ class YoutubeApp(APIApplication):
|
|
|
1061
1074
|
def get_guide_categories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
|
|
1062
1075
|
"""
|
|
1063
1076
|
Retrieves a list of official YouTube guide categories (e.g., Music, Sports). This function queries the `/guideCategories` endpoint, allowing results to be filtered by ID or region and localized for a specific language. These are distinct from the categories assigned to individual videos.
|
|
1064
|
-
|
|
1077
|
+
|
|
1065
1078
|
Args:
|
|
1066
1079
|
hl: Optional; a string that specifies the language localization.
|
|
1067
1080
|
id: Optional; a string representing the ID of the guide category.
|
|
1068
1081
|
part: Optional; a string indicating which parts of the guide category resource to return.
|
|
1069
1082
|
regionCode: Optional; a string that denotes the region of interest.
|
|
1070
|
-
|
|
1083
|
+
|
|
1071
1084
|
Returns:
|
|
1072
1085
|
A dictionary containing the JSON response representing guide categories from the service.
|
|
1073
|
-
|
|
1086
|
+
|
|
1074
1087
|
Raises:
|
|
1075
1088
|
requests.exceptions.HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
1076
|
-
|
|
1089
|
+
|
|
1077
1090
|
Tags:
|
|
1078
1091
|
get, fetch, guide-categories, api-call
|
|
1079
1092
|
"""
|
|
@@ -1095,17 +1108,17 @@ class YoutubeApp(APIApplication):
|
|
|
1095
1108
|
def get_i18n_languages(self, hl=None, part=None) -> Any:
|
|
1096
1109
|
"""
|
|
1097
1110
|
Retrieves a list of supported internationalization (i18n) languages from the YouTube API's `/i18nLanguages` endpoint. It can optionally localize the language names in the response. This function is distinct from `get_regions`, which fetches supported geographical regions.
|
|
1098
|
-
|
|
1111
|
+
|
|
1099
1112
|
Args:
|
|
1100
1113
|
hl: Optional language code to localize returned language names (e.g., 'en' for English).
|
|
1101
1114
|
part: Optional comma-separated list of i18nLanguage resource properties to include in response.
|
|
1102
|
-
|
|
1115
|
+
|
|
1103
1116
|
Returns:
|
|
1104
1117
|
JSON object containing API response with supported languages data.
|
|
1105
|
-
|
|
1118
|
+
|
|
1106
1119
|
Raises:
|
|
1107
1120
|
HTTPError: Raised for unsuccessful API requests (4XX/5XX status codes).
|
|
1108
|
-
|
|
1121
|
+
|
|
1109
1122
|
Tags:
|
|
1110
1123
|
fetch, i18n, languages, api-client
|
|
1111
1124
|
"""
|
|
@@ -1118,17 +1131,17 @@ class YoutubeApp(APIApplication):
|
|
|
1118
1131
|
def get_i18n_regions(self, hl=None, part=None) -> Any:
|
|
1119
1132
|
"""
|
|
1120
1133
|
Fetches a list of geographic regions supported by the YouTube API for content localization. It can localize region names using the 'hl' parameter. This is distinct from get_languages, which retrieves supported languages, not geographic areas.
|
|
1121
|
-
|
|
1134
|
+
|
|
1122
1135
|
Args:
|
|
1123
1136
|
hl: Optional string representing language code for regional localization.
|
|
1124
1137
|
part: Optional comma-separated string specifying i18nRegion resource parts to include.
|
|
1125
|
-
|
|
1138
|
+
|
|
1126
1139
|
Returns:
|
|
1127
1140
|
JSON response containing i18n regions data.
|
|
1128
|
-
|
|
1141
|
+
|
|
1129
1142
|
Raises:
|
|
1130
1143
|
HTTPError: If the API request fails with a 4XX/5XX status code.
|
|
1131
|
-
|
|
1144
|
+
|
|
1132
1145
|
Tags:
|
|
1133
1146
|
list, regions, i18n, api
|
|
1134
1147
|
"""
|
|
@@ -1143,18 +1156,18 @@ class YoutubeApp(APIApplication):
|
|
|
1143
1156
|
) -> Any:
|
|
1144
1157
|
"""
|
|
1145
1158
|
Deletes one or more YouTube livestreams by ID via the `/liveStreams` API endpoint, optionally on behalf of a content owner. This function is distinct from `delete_live_broadcasts`, which targets a different live video resource, and returns the server's JSON response upon successful deletion.
|
|
1146
|
-
|
|
1159
|
+
|
|
1147
1160
|
Args:
|
|
1148
1161
|
id: Optional; A comma-separated list of YouTube livestream IDs to be deleted.
|
|
1149
1162
|
onBehalfOfContentOwner: Optional; The YouTube content owner who is the channel owner of the livestream and makes this API call.
|
|
1150
1163
|
onBehalfOfContentOwnerChannel: Optional; The YouTube channel ID on behalf of which the API call is made.
|
|
1151
|
-
|
|
1164
|
+
|
|
1152
1165
|
Returns:
|
|
1153
1166
|
A JSON object containing the API's response to the delete request.
|
|
1154
|
-
|
|
1167
|
+
|
|
1155
1168
|
Raises:
|
|
1156
1169
|
requests.HTTPError: Raised when the HTTP request returns an unsuccessful status code.
|
|
1157
|
-
|
|
1170
|
+
|
|
1158
1171
|
Tags:
|
|
1159
1172
|
delete, livestream, youtube, api
|
|
1160
1173
|
"""
|
|
@@ -1175,17 +1188,17 @@ class YoutubeApp(APIApplication):
|
|
|
1175
1188
|
def delete_playlist_items(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
1176
1189
|
"""
|
|
1177
1190
|
Deletes one or more YouTube playlist items by their unique IDs. The operation can be performed on behalf of a content owner for delegated authorization, sending a DELETE request to the `/playlistItems` endpoint and returning the server's response.
|
|
1178
|
-
|
|
1191
|
+
|
|
1179
1192
|
Args:
|
|
1180
1193
|
id: Optional; The ID of the playlist item to be deleted.
|
|
1181
1194
|
onBehalfOfContentOwner: Optional; The content owner on whose behalf the playlist item is being deleted.
|
|
1182
|
-
|
|
1195
|
+
|
|
1183
1196
|
Returns:
|
|
1184
1197
|
JSON response from the server indicating the result of the deletion operation.
|
|
1185
|
-
|
|
1198
|
+
|
|
1186
1199
|
Raises:
|
|
1187
1200
|
HTTPError: Raised if the API request fails due to invalid parameters, authorization issues, or server errors.
|
|
1188
|
-
|
|
1201
|
+
|
|
1189
1202
|
Tags:
|
|
1190
1203
|
delete, playlist-items, management
|
|
1191
1204
|
"""
|
|
@@ -1202,17 +1215,17 @@ class YoutubeApp(APIApplication):
|
|
|
1202
1215
|
def delete_playlists(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
1203
1216
|
"""
|
|
1204
1217
|
Deletes a YouTube playlist by its unique ID via a DELETE request to the API. The operation can be performed on behalf of a specific content owner for delegated management. This function targets the entire playlist, distinct from `delete_play_list_items` which removes individual videos from a playlist.
|
|
1205
|
-
|
|
1218
|
+
|
|
1206
1219
|
Args:
|
|
1207
1220
|
id: Optional; A string representing the ID of the playlist to delete. If None, operation details depend on API implementation (not recommended without explicit identifier).
|
|
1208
1221
|
onBehalfOfContentOwner: Optional; A string representing the content owner on whose behalf the operation is performed. Used for delegated access.
|
|
1209
|
-
|
|
1222
|
+
|
|
1210
1223
|
Returns:
|
|
1211
1224
|
Dictionary containing the JSON response from the YouTube API after playlist deletion.
|
|
1212
|
-
|
|
1225
|
+
|
|
1213
1226
|
Raises:
|
|
1214
1227
|
HTTPError: Raised when the API request fails, typically due to invalid permissions, non-existent playlist, or network issues.
|
|
1215
|
-
|
|
1228
|
+
|
|
1216
1229
|
Tags:
|
|
1217
1230
|
delete, playlists, youtube-api, management
|
|
1218
1231
|
"""
|
|
@@ -1262,7 +1275,7 @@ class YoutubeApp(APIApplication):
|
|
|
1262
1275
|
) -> Any:
|
|
1263
1276
|
"""
|
|
1264
1277
|
Performs a versatile search on YouTube for videos, channels, or playlists. This function supports extensive filters, including keywords, publication dates, location, and specific video attributes like category or duration, returning a paginated list of matching resources from the YouTube Data API.
|
|
1265
|
-
|
|
1278
|
+
|
|
1266
1279
|
Args:
|
|
1267
1280
|
channelId: Channel filter for the search.
|
|
1268
1281
|
channelType: Type of channel to filter by.
|
|
@@ -1295,13 +1308,13 @@ class YoutubeApp(APIApplication):
|
|
|
1295
1308
|
videoLicense: License filter for videos.
|
|
1296
1309
|
videoSyndicated: Whether videos are syndicated.
|
|
1297
1310
|
videoType: Type of video (e.g., 'movie', 'episode')
|
|
1298
|
-
|
|
1311
|
+
|
|
1299
1312
|
Returns:
|
|
1300
1313
|
JSON response containing the search results.
|
|
1301
|
-
|
|
1314
|
+
|
|
1302
1315
|
Raises:
|
|
1303
1316
|
HTTPError: If the request to the YouTube Data API fails.
|
|
1304
|
-
|
|
1317
|
+
|
|
1305
1318
|
Tags:
|
|
1306
1319
|
search, youtube-api, video-search, web-api, important
|
|
1307
1320
|
"""
|
|
@@ -1352,19 +1365,19 @@ class YoutubeApp(APIApplication):
|
|
|
1352
1365
|
) -> Any:
|
|
1353
1366
|
"""
|
|
1354
1367
|
Retrieves a list of sponsors for the authenticated user's YouTube channel. This function supports filtering, pagination, and specifying which resource parts to include in the response, allowing for flexible and customized data fetching of sponsor information.
|
|
1355
|
-
|
|
1368
|
+
|
|
1356
1369
|
Args:
|
|
1357
1370
|
filter: Optional string containing filtering criteria for sponsors.
|
|
1358
1371
|
maxResults: Optional integer limiting the number of returned sponsors.
|
|
1359
1372
|
pageToken: Optional token string for paginating to a specific result page.
|
|
1360
1373
|
part: Optional string specifying which sponsor detail parts to include.
|
|
1361
|
-
|
|
1374
|
+
|
|
1362
1375
|
Returns:
|
|
1363
1376
|
JSON response containing the list of sponsors (filtered/paginated) as returned by the server.
|
|
1364
|
-
|
|
1377
|
+
|
|
1365
1378
|
Raises:
|
|
1366
1379
|
requests.HTTPError: If the HTTP request fails or returns a non-200 status code.
|
|
1367
|
-
|
|
1380
|
+
|
|
1368
1381
|
Tags:
|
|
1369
1382
|
fetch, list, pagination, filter, sponsors, api
|
|
1370
1383
|
"""
|
|
@@ -1386,16 +1399,16 @@ class YoutubeApp(APIApplication):
|
|
|
1386
1399
|
def delete_subscriptions(self, id=None) -> Any:
|
|
1387
1400
|
"""
|
|
1388
1401
|
Deletes a specific YouTube channel subscription identified by its unique ID. This function sends a DELETE request to the `/subscriptions` API endpoint and returns the server's JSON response, confirming the operation's success or failure.
|
|
1389
|
-
|
|
1402
|
+
|
|
1390
1403
|
Args:
|
|
1391
1404
|
id: Optional identifier for a specific subscription to delete (str, int, or None). If None, deletes all subscriptions.
|
|
1392
|
-
|
|
1405
|
+
|
|
1393
1406
|
Returns:
|
|
1394
1407
|
JSON-formatted response from the API containing deletion results.
|
|
1395
|
-
|
|
1408
|
+
|
|
1396
1409
|
Raises:
|
|
1397
1410
|
HTTPError: Raised for HTTP request failures (4XX/5XX status codes) during the deletion attempt.
|
|
1398
|
-
|
|
1411
|
+
|
|
1399
1412
|
Tags:
|
|
1400
1413
|
delete, subscriptions, async-job, management
|
|
1401
1414
|
"""
|
|
@@ -1410,19 +1423,19 @@ class YoutubeApp(APIApplication):
|
|
|
1410
1423
|
) -> Any:
|
|
1411
1424
|
"""
|
|
1412
1425
|
Retrieves a paginated list of Super Chat events from the YouTube Data API. Allows for localization and specifying which resource parts to include in the response. This function is distinct from `get_fanfundingevents`, which fetches a different type of monetary contribution event.
|
|
1413
|
-
|
|
1426
|
+
|
|
1414
1427
|
Args:
|
|
1415
1428
|
hl: Optional; the language code to select localized resource information.
|
|
1416
1429
|
maxResults: Optional; the maximum number of items that should be returned in the result set.
|
|
1417
1430
|
pageToken: Optional; the token to identify a specific page in the result set.
|
|
1418
1431
|
part: Optional; the parameter specifying which super chat event resource parts to include in the response.
|
|
1419
|
-
|
|
1432
|
+
|
|
1420
1433
|
Returns:
|
|
1421
1434
|
A JSON object containing the super chat events data returned by the YouTube API.
|
|
1422
|
-
|
|
1435
|
+
|
|
1423
1436
|
Raises:
|
|
1424
1437
|
RequestException: Raised if there is an issue with the HTTP request, such as network or server errors.
|
|
1425
|
-
|
|
1438
|
+
|
|
1426
1439
|
Tags:
|
|
1427
1440
|
fetch, youtube-api, async-job
|
|
1428
1441
|
"""
|
|
@@ -1444,17 +1457,17 @@ class YoutubeApp(APIApplication):
|
|
|
1444
1457
|
def set_video_thumbnail(self, onBehalfOfContentOwner=None, videoId=None) -> Any:
|
|
1445
1458
|
"""
|
|
1446
1459
|
Sets a custom thumbnail for a specified YouTube video via a POST request to the `/thumbnails/set` API endpoint. The operation can be performed on behalf of a content owner for delegated management of video assets.
|
|
1447
|
-
|
|
1460
|
+
|
|
1448
1461
|
Args:
|
|
1449
1462
|
onBehalfOfContentOwner: Optional; str. The YouTube content owner ID on whose behalf the request is being made.
|
|
1450
1463
|
videoId: Optional; str. The ID of the video for which the thumbnails are being set.
|
|
1451
|
-
|
|
1464
|
+
|
|
1452
1465
|
Returns:
|
|
1453
1466
|
dict. The response from the YouTube API as a JSON object, containing details of the updated video thumbnail.
|
|
1454
|
-
|
|
1467
|
+
|
|
1455
1468
|
Raises:
|
|
1456
1469
|
HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
1457
|
-
|
|
1470
|
+
|
|
1458
1471
|
Tags:
|
|
1459
1472
|
thumbnail, youtube-api, video-management, async-job
|
|
1460
1473
|
"""
|
|
@@ -1474,17 +1487,17 @@ class YoutubeApp(APIApplication):
|
|
|
1474
1487
|
def get_video_abuse_report_reasons(self, hl=None, part=None) -> Any:
|
|
1475
1488
|
"""
|
|
1476
1489
|
Retrieves a list of valid reasons (e.g., spam, hate speech) for reporting abusive video content. Supports response localization using a language code (`hl`) and allows filtering which parts of the reason resource (e.g., ID, snippet) are returned, providing metadata before submitting a report.
|
|
1477
|
-
|
|
1490
|
+
|
|
1478
1491
|
Args:
|
|
1479
1492
|
hl: Optional BCP-47 language code for localizing the response (e.g., 'en' or 'fr').
|
|
1480
1493
|
part: Optional parameter specifying which parts of the abuse report reasons to include in the response (e.g., 'id' or 'snippet').
|
|
1481
|
-
|
|
1494
|
+
|
|
1482
1495
|
Returns:
|
|
1483
1496
|
A JSON object containing the list of video abuse report reasons, or filtered parts if specified.
|
|
1484
|
-
|
|
1497
|
+
|
|
1485
1498
|
Raises:
|
|
1486
1499
|
requests.RequestException: Raised if there is a problem with the HTTP request (e.g., network issues or invalid response).
|
|
1487
|
-
|
|
1500
|
+
|
|
1488
1501
|
Tags:
|
|
1489
1502
|
fetch, management, abuse-report, video-content
|
|
1490
1503
|
"""
|
|
@@ -1497,19 +1510,19 @@ class YoutubeApp(APIApplication):
|
|
|
1497
1510
|
def get_video_categories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
|
|
1498
1511
|
"""
|
|
1499
1512
|
Retrieves official YouTube video categories used for classifying uploaded videos, allowing filtering by ID, region, or language. This is distinct from `get_guecategories`, which fetches channel browsing guides, not categories for individual video uploads.
|
|
1500
|
-
|
|
1513
|
+
|
|
1501
1514
|
Args:
|
|
1502
1515
|
hl: Optional; the language code (e.g., 'en') for localized video category names
|
|
1503
1516
|
id: Optional; comma-separated list of video category IDs to filter results
|
|
1504
1517
|
part: Optional; list of properties (e.g., 'snippet') to include in the response
|
|
1505
1518
|
regionCode: Optional; ISO 3166-1 alpha-2 country code to filter region-specific categories
|
|
1506
|
-
|
|
1519
|
+
|
|
1507
1520
|
Returns:
|
|
1508
1521
|
Dictionary containing parsed JSON response with video category details
|
|
1509
|
-
|
|
1522
|
+
|
|
1510
1523
|
Raises:
|
|
1511
1524
|
requests.HTTPError: Raised when the API request fails with a non-success status code
|
|
1512
|
-
|
|
1525
|
+
|
|
1513
1526
|
Tags:
|
|
1514
1527
|
fetch, video-categories, api-request, json-response
|
|
1515
1528
|
"""
|
|
@@ -1531,17 +1544,17 @@ class YoutubeApp(APIApplication):
|
|
|
1531
1544
|
def delete_group_items(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
1532
1545
|
"""
|
|
1533
1546
|
Deletes specified items from a YouTube Analytics group via an API request. An item can be targeted by its unique ID, and the action can be performed on behalf of a content owner. This function is distinct from `delete_groups`, which removes the entire group.
|
|
1534
|
-
|
|
1547
|
+
|
|
1535
1548
|
Args:
|
|
1536
1549
|
id: Optional; A string that identifies the group item to be deleted. If not provided, all group items may be affected depending on other parameters.
|
|
1537
1550
|
onBehalfOfContentOwner: Optional; A string representing the content owner on whose behalf the request is being made.
|
|
1538
|
-
|
|
1551
|
+
|
|
1539
1552
|
Returns:
|
|
1540
1553
|
A JSON object containing the response from the deletion request.
|
|
1541
|
-
|
|
1554
|
+
|
|
1542
1555
|
Raises:
|
|
1543
1556
|
HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
1544
|
-
|
|
1557
|
+
|
|
1545
1558
|
Tags:
|
|
1546
1559
|
delete, groupitems, management
|
|
1547
1560
|
"""
|
|
@@ -1558,17 +1571,17 @@ class YoutubeApp(APIApplication):
|
|
|
1558
1571
|
def delete_groups(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
1559
1572
|
"""
|
|
1560
1573
|
Deletes a YouTube group by its ID via an API request, optionally on behalf of a content owner. Unlike `delete_groupitems`, which only removes an item from a group, this function deletes the entire group entity.
|
|
1561
|
-
|
|
1574
|
+
|
|
1562
1575
|
Args:
|
|
1563
1576
|
id: Optional unique identifier for the group to delete. If None, no specific group targeted.
|
|
1564
1577
|
onBehalfOfContentOwner: Optional content owner ID for delegated authorization.
|
|
1565
|
-
|
|
1578
|
+
|
|
1566
1579
|
Returns:
|
|
1567
1580
|
JSON-decoded response indicating operation success/failure.
|
|
1568
|
-
|
|
1581
|
+
|
|
1569
1582
|
Raises:
|
|
1570
1583
|
requests.exceptions.HTTPError: Raised for invalid requests, authentication failures, or server errors during deletion.
|
|
1571
|
-
|
|
1584
|
+
|
|
1572
1585
|
Tags:
|
|
1573
1586
|
delete, management, async_job, api
|
|
1574
1587
|
"""
|
|
@@ -1597,7 +1610,7 @@ class YoutubeApp(APIApplication):
|
|
|
1597
1610
|
) -> Any:
|
|
1598
1611
|
"""
|
|
1599
1612
|
Queries the YouTube Analytics API for performance reports, allowing customization via metrics, dimensions, and filters. Unlike `get_jobs_job_reports` which manages bulk report jobs, this function fetches analytical data directly, providing on-demand insights into channel or content performance.
|
|
1600
|
-
|
|
1613
|
+
|
|
1601
1614
|
Args:
|
|
1602
1615
|
currency: Optional; specifies the currency format for monetary values in the report
|
|
1603
1616
|
dimensions: Optional; list of dimensions (e.g., 'country', 'device') to include in report breakdowns
|
|
@@ -1609,13 +1622,13 @@ class YoutubeApp(APIApplication):
|
|
|
1609
1622
|
metrics: Optional; list of measurable values to include (e.g., 'clicks', 'conversions')
|
|
1610
1623
|
sort: Optional; criteria for sorting results (e.g., '-clicks' for descending order)
|
|
1611
1624
|
start: Optional; start date (YYYY-MM-DD format) for the report data range
|
|
1612
|
-
|
|
1625
|
+
|
|
1613
1626
|
Returns:
|
|
1614
1627
|
Report data as parsed JSON from the API response
|
|
1615
|
-
|
|
1628
|
+
|
|
1616
1629
|
Raises:
|
|
1617
1630
|
requests.exceptions.HTTPError: Raised when the API request fails due to invalid parameters, authentication issues, or server errors
|
|
1618
|
-
|
|
1631
|
+
|
|
1619
1632
|
Tags:
|
|
1620
1633
|
fetch, report, api, filter, sort, metrics, management
|
|
1621
1634
|
"""
|