universal-mcp-applications 0.1.13__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 +117 -117
- 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.13.dist-info → universal_mcp_applications-0.1.14.dist-info}/METADATA +1 -1
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.14.dist-info}/RECORD +54 -54
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.14.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.14.dist-info}/licenses/LICENSE +0 -0
|
@@ -21,7 +21,7 @@ class YoutubeApp(APIApplication):
|
|
|
21
21
|
super().__init__(name="youtube", integration=integration, **kwargs)
|
|
22
22
|
self.base_url = "https://www.googleapis.com/youtube/v3"
|
|
23
23
|
|
|
24
|
-
def
|
|
24
|
+
def list_job_reports(
|
|
25
25
|
self,
|
|
26
26
|
jobId,
|
|
27
27
|
createdAfter=None,
|
|
@@ -32,8 +32,8 @@ class YoutubeApp(APIApplication):
|
|
|
32
32
|
startTimeBefore=None,
|
|
33
33
|
) -> Any:
|
|
34
34
|
"""
|
|
35
|
-
Retrieves
|
|
36
|
-
|
|
35
|
+
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
|
Args:
|
|
38
38
|
jobId: The unique identifier for the job whose reports are to be retrieved.
|
|
39
39
|
createdAfter: Optional; filter to include only reports created after this date (ISO 8601 format).
|
|
@@ -42,13 +42,13 @@ class YoutubeApp(APIApplication):
|
|
|
42
42
|
pageToken: Optional; a token identifying the page of results to return.
|
|
43
43
|
startTimeAtOrAfter: Optional; filter to include only reports starting at or after this date-time (ISO 8601 format).
|
|
44
44
|
startTimeBefore: Optional; filter to include only reports with a start time before this date-time (ISO 8601 format).
|
|
45
|
-
|
|
45
|
+
|
|
46
46
|
Returns:
|
|
47
47
|
A JSON object containing the job reports matching the provided criteria.
|
|
48
|
-
|
|
48
|
+
|
|
49
49
|
Raises:
|
|
50
50
|
ValueError: Raised if the required 'jobId' parameter is missing.
|
|
51
|
-
|
|
51
|
+
|
|
52
52
|
Tags:
|
|
53
53
|
retrieve, report, job-management, batch
|
|
54
54
|
"""
|
|
@@ -71,24 +71,24 @@ class YoutubeApp(APIApplication):
|
|
|
71
71
|
response.raise_for_status()
|
|
72
72
|
return response.json()
|
|
73
73
|
|
|
74
|
-
def
|
|
74
|
+
def get_job_report(
|
|
75
75
|
self, jobId, reportId, onBehalfOfContentOwner=None
|
|
76
76
|
) -> Any:
|
|
77
77
|
"""
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
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
|
+
|
|
80
80
|
Args:
|
|
81
81
|
jobId: The unique identifier for the job containing the report (required).
|
|
82
82
|
reportId: The unique identifier for the report to fetch (required).
|
|
83
83
|
onBehalfOfContentOwner: Optional; specifies the content owner for whom the request is made.
|
|
84
|
-
|
|
84
|
+
|
|
85
85
|
Returns:
|
|
86
86
|
A JSON object containing the fetched report details.
|
|
87
|
-
|
|
87
|
+
|
|
88
88
|
Raises:
|
|
89
89
|
ValueError: Raised if 'jobId' or 'reportId' is not provided.
|
|
90
90
|
requests.HTTPError: Raised if the API request fails (e.g., invalid permissions or resource not found).
|
|
91
|
-
|
|
91
|
+
|
|
92
92
|
Tags:
|
|
93
93
|
retrieve, report, job, api, json
|
|
94
94
|
"""
|
|
@@ -106,21 +106,21 @@ class YoutubeApp(APIApplication):
|
|
|
106
106
|
response.raise_for_status()
|
|
107
107
|
return response.json()
|
|
108
108
|
|
|
109
|
-
def
|
|
109
|
+
def delete_job(self, jobId, onBehalfOfContentOwner=None) -> Any:
|
|
110
110
|
"""
|
|
111
|
-
Deletes a job
|
|
112
|
-
|
|
111
|
+
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
|
+
|
|
113
113
|
Args:
|
|
114
114
|
jobId: The unique identifier of the job to delete. Required.
|
|
115
115
|
onBehalfOfContentOwner: Optional. Content owner ID for delegated authorization.
|
|
116
|
-
|
|
116
|
+
|
|
117
117
|
Returns:
|
|
118
118
|
JSON response from the API as a Python dictionary.
|
|
119
|
-
|
|
119
|
+
|
|
120
120
|
Raises:
|
|
121
121
|
ValueError: Raised when jobId is None.
|
|
122
122
|
requests.exceptions.HTTPError: Raised for failed HTTP requests (e.g., invalid job ID, permission errors).
|
|
123
|
-
|
|
123
|
+
|
|
124
124
|
Tags:
|
|
125
125
|
delete, jobs, async_job, management
|
|
126
126
|
"""
|
|
@@ -136,7 +136,7 @@ class YoutubeApp(APIApplication):
|
|
|
136
136
|
response.raise_for_status()
|
|
137
137
|
return response.json()
|
|
138
138
|
|
|
139
|
-
def
|
|
139
|
+
def list_jobs(
|
|
140
140
|
self,
|
|
141
141
|
includeSystemManaged=None,
|
|
142
142
|
onBehalfOfContentOwner=None,
|
|
@@ -144,20 +144,20 @@ class YoutubeApp(APIApplication):
|
|
|
144
144
|
pageToken=None,
|
|
145
145
|
) -> Any:
|
|
146
146
|
"""
|
|
147
|
-
Retrieves a list of jobs from the
|
|
148
|
-
|
|
147
|
+
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
|
+
|
|
149
149
|
Args:
|
|
150
150
|
includeSystemManaged: Optional boolean indicating whether to include system-managed jobs.
|
|
151
151
|
onBehalfOfContentOwner: Optional string representing the content owner on behalf of which the request is made.
|
|
152
152
|
pageSize: Optional integer specifying the number of jobs per page.
|
|
153
153
|
pageToken: Optional string for paginated results page token.
|
|
154
|
-
|
|
154
|
+
|
|
155
155
|
Returns:
|
|
156
156
|
JSON-decoded response containing the list of jobs and related metadata.
|
|
157
|
-
|
|
157
|
+
|
|
158
158
|
Raises:
|
|
159
159
|
HTTPError: Raised if the server returns an unsuccessful status code.
|
|
160
|
-
|
|
160
|
+
|
|
161
161
|
Tags:
|
|
162
162
|
list, scrape, management
|
|
163
163
|
"""
|
|
@@ -176,20 +176,20 @@ class YoutubeApp(APIApplication):
|
|
|
176
176
|
response.raise_for_status()
|
|
177
177
|
return response.json()
|
|
178
178
|
|
|
179
|
-
def
|
|
179
|
+
def download_report_media(self, resourceName) -> Any:
|
|
180
180
|
"""
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
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
|
+
|
|
183
183
|
Args:
|
|
184
184
|
resourceName: The name of the media resource to retrieve. Required and cannot be None.
|
|
185
|
-
|
|
185
|
+
|
|
186
186
|
Returns:
|
|
187
187
|
JSON-formatted data representing the media resource.
|
|
188
|
-
|
|
188
|
+
|
|
189
189
|
Raises:
|
|
190
190
|
ValueError: If 'resourceName' is None.
|
|
191
191
|
requests.exceptions.HTTPError: If the HTTP request fails, such as a 404 for a non-existent resource.
|
|
192
|
-
|
|
192
|
+
|
|
193
193
|
Tags:
|
|
194
194
|
retrieve, media, json, http, get
|
|
195
195
|
"""
|
|
@@ -209,20 +209,20 @@ class YoutubeApp(APIApplication):
|
|
|
209
209
|
pageToken=None,
|
|
210
210
|
) -> Any:
|
|
211
211
|
"""
|
|
212
|
-
Retrieves a
|
|
213
|
-
|
|
212
|
+
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
|
+
|
|
214
214
|
Args:
|
|
215
215
|
includeSystemManaged: Boolean indicating whether to include system-managed report types in results.
|
|
216
216
|
onBehalfOfContentOwner: Content owner ID for delegated authority requests.
|
|
217
217
|
pageSize: Maximum number of items to return per response page.
|
|
218
218
|
pageToken: Token identifying a specific results page for pagination.
|
|
219
|
-
|
|
219
|
+
|
|
220
220
|
Returns:
|
|
221
221
|
Dictionary containing report type entries and pagination details, typically including 'items' list and 'nextPageToken' if applicable.
|
|
222
|
-
|
|
222
|
+
|
|
223
223
|
Raises:
|
|
224
224
|
HTTPError: If the API request fails due to network issues, authentication problems, or invalid parameters.
|
|
225
|
-
|
|
225
|
+
|
|
226
226
|
Tags:
|
|
227
227
|
retrieve, list, api-resource, filtering, pagination, report-management
|
|
228
228
|
"""
|
|
@@ -245,19 +245,19 @@ class YoutubeApp(APIApplication):
|
|
|
245
245
|
self, id=None, onBehalfOf=None, onBehalfOfContentOwner=None
|
|
246
246
|
) -> Any:
|
|
247
247
|
"""
|
|
248
|
-
Deletes
|
|
249
|
-
|
|
248
|
+
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
|
+
|
|
250
250
|
Args:
|
|
251
251
|
id: Optional unique identifier for the caption resource to delete.
|
|
252
252
|
onBehalfOf: Optional parameter identifying the user on whose behalf the request is made.
|
|
253
253
|
onBehalfOfContentOwner: Optional parameter specifying the content owner authorizing the request.
|
|
254
|
-
|
|
254
|
+
|
|
255
255
|
Returns:
|
|
256
256
|
JSON response containing the result of the DELETE operation from the YouTube API.
|
|
257
|
-
|
|
257
|
+
|
|
258
258
|
Raises:
|
|
259
259
|
HTTPError: Raised when the HTTP request fails, such as invalid ID, authentication failures, or API limitations exceeded.
|
|
260
|
-
|
|
260
|
+
|
|
261
261
|
Tags:
|
|
262
262
|
delete, captions, api, management
|
|
263
263
|
"""
|
|
@@ -275,20 +275,20 @@ class YoutubeApp(APIApplication):
|
|
|
275
275
|
response.raise_for_status()
|
|
276
276
|
return response.json()
|
|
277
277
|
|
|
278
|
-
def
|
|
278
|
+
def get_transcript_text(self, video_id: str) -> str:
|
|
279
279
|
"""
|
|
280
|
-
|
|
281
|
-
|
|
280
|
+
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
|
+
|
|
282
282
|
Args:
|
|
283
283
|
video_id: The unique identifier for the target video (required)
|
|
284
|
-
|
|
284
|
+
|
|
285
285
|
Returns:
|
|
286
286
|
String containing the complete transcript text without timestamps
|
|
287
|
-
|
|
287
|
+
|
|
288
288
|
Raises:
|
|
289
289
|
ValueError: Raised when required 'video_id' parameter is missing
|
|
290
290
|
Exception: Raised when transcript cannot be retrieved (e.g., no captions available)
|
|
291
|
-
|
|
291
|
+
|
|
292
292
|
Tags:
|
|
293
293
|
retrieve, transcript, text, captions
|
|
294
294
|
"""
|
|
@@ -311,17 +311,17 @@ class YoutubeApp(APIApplication):
|
|
|
311
311
|
|
|
312
312
|
def delete_comments(self, id=None) -> Any:
|
|
313
313
|
"""
|
|
314
|
-
|
|
315
|
-
|
|
314
|
+
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
|
+
|
|
316
316
|
Args:
|
|
317
317
|
id: Optional ID of the comment to be deleted. If not provided, and based on implementation, all comments may be deleted.
|
|
318
|
-
|
|
318
|
+
|
|
319
319
|
Returns:
|
|
320
320
|
The JSON response from the server after attempting to delete the comment(s).
|
|
321
|
-
|
|
321
|
+
|
|
322
322
|
Raises:
|
|
323
323
|
requests.RequestException: Raised if there is a network error or an invalid response from the server.
|
|
324
|
-
|
|
324
|
+
|
|
325
325
|
Tags:
|
|
326
326
|
delete, comments, management
|
|
327
327
|
"""
|
|
@@ -330,19 +330,19 @@ class YoutubeApp(APIApplication):
|
|
|
330
330
|
response = self._delete(url, params=query_params)
|
|
331
331
|
return self._handle_response(response)
|
|
332
332
|
|
|
333
|
-
def
|
|
333
|
+
def mark_comment_as_spam(self, id=None) -> Any:
|
|
334
334
|
"""
|
|
335
|
-
Marks a comment as spam
|
|
336
|
-
|
|
335
|
+
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
|
+
|
|
337
337
|
Args:
|
|
338
338
|
id: Optional unique identifier of the comment to mark as spam (included in request parameters when provided).
|
|
339
|
-
|
|
339
|
+
|
|
340
340
|
Returns:
|
|
341
341
|
JSON response from the API containing the operation result.
|
|
342
|
-
|
|
342
|
+
|
|
343
343
|
Raises:
|
|
344
344
|
HTTPError: If the POST request fails or returns a non-200 status code.
|
|
345
|
-
|
|
345
|
+
|
|
346
346
|
Tags:
|
|
347
347
|
comments, spam, post-request, api, moderation
|
|
348
348
|
"""
|
|
@@ -352,23 +352,23 @@ class YoutubeApp(APIApplication):
|
|
|
352
352
|
response.raise_for_status()
|
|
353
353
|
return response.json()
|
|
354
354
|
|
|
355
|
-
def
|
|
355
|
+
def set_comment_moderation_status(
|
|
356
356
|
self, banAuthor=None, id=None, moderationStatus=None
|
|
357
357
|
) -> Any:
|
|
358
358
|
"""
|
|
359
|
-
Sets the moderation status for
|
|
360
|
-
|
|
359
|
+
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
|
+
|
|
361
361
|
Args:
|
|
362
362
|
banAuthor: Optional boolean indicating whether to ban the comment's author
|
|
363
363
|
id: Optional string representing the unique identifier of the comment to moderate
|
|
364
364
|
moderationStatus: Optional string specifying the new moderation status (e.g., 'approved', 'rejected')
|
|
365
|
-
|
|
365
|
+
|
|
366
366
|
Returns:
|
|
367
367
|
JSON response from the server containing the result of the moderation operation
|
|
368
|
-
|
|
368
|
+
|
|
369
369
|
Raises:
|
|
370
370
|
requests.HTTPError: Raised when the HTTP request fails (e.g., invalid parameters or server errors)
|
|
371
|
-
|
|
371
|
+
|
|
372
372
|
Tags:
|
|
373
373
|
moderation, comments, management, api-client, status-update, ban-author
|
|
374
374
|
"""
|
|
@@ -390,19 +390,19 @@ class YoutubeApp(APIApplication):
|
|
|
390
390
|
self, id=None, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None
|
|
391
391
|
) -> Any:
|
|
392
392
|
"""
|
|
393
|
-
Deletes
|
|
394
|
-
|
|
393
|
+
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
|
+
|
|
395
395
|
Args:
|
|
396
396
|
id: Optional; Unique identifier of the live broadcast to delete (str).
|
|
397
397
|
onBehalfOfContentOwner: Optional; Content owner acting on behalf of (str).
|
|
398
398
|
onBehalfOfContentOwnerChannel: Optional; Channel ID linked to content owner (str).
|
|
399
|
-
|
|
399
|
+
|
|
400
400
|
Returns:
|
|
401
401
|
Dict[str, Any] containing the JSON-parsed response from the API request.
|
|
402
|
-
|
|
402
|
+
|
|
403
403
|
Raises:
|
|
404
404
|
requests.HTTPError: Raised for any HTTP request failures or invalid status codes (4XX/5XX).
|
|
405
|
-
|
|
405
|
+
|
|
406
406
|
Tags:
|
|
407
407
|
delete, live-broadcast, management, api
|
|
408
408
|
"""
|
|
@@ -420,7 +420,7 @@ class YoutubeApp(APIApplication):
|
|
|
420
420
|
response.raise_for_status()
|
|
421
421
|
return response.json()
|
|
422
422
|
|
|
423
|
-
def
|
|
423
|
+
def bind_live_broadcast_to_stream(
|
|
424
424
|
self,
|
|
425
425
|
id=None,
|
|
426
426
|
onBehalfOfContentOwner=None,
|
|
@@ -429,21 +429,21 @@ class YoutubeApp(APIApplication):
|
|
|
429
429
|
streamId=None,
|
|
430
430
|
) -> Any:
|
|
431
431
|
"""
|
|
432
|
-
Binds a live broadcast to a stream on
|
|
433
|
-
|
|
432
|
+
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
|
+
|
|
434
434
|
Args:
|
|
435
435
|
id: The id of the live broadcast to bind.
|
|
436
436
|
onBehalfOfContentOwner: The YouTube CMS content owner on behalf of whom the operation is performed.
|
|
437
437
|
onBehalfOfContentOwnerChannel: The YouTube channel ID for which the live broadcast is operated.
|
|
438
438
|
part: A comma-separated list of liveBroadcast resource properties to include in the API response.
|
|
439
439
|
streamId: The id of the stream to which the live broadcast is to be bound.
|
|
440
|
-
|
|
440
|
+
|
|
441
441
|
Returns:
|
|
442
442
|
The JSON response object from the YouTube API after attempting to bind the live broadcast to the stream.
|
|
443
|
-
|
|
443
|
+
|
|
444
444
|
Raises:
|
|
445
445
|
HTTPError: Raised if the request to the YouTube API fails, typically due to server errors or invalid responses.
|
|
446
|
-
|
|
446
|
+
|
|
447
447
|
Tags:
|
|
448
448
|
bind, youtube-api, live-broadcast, stream
|
|
449
449
|
"""
|
|
@@ -463,7 +463,7 @@ class YoutubeApp(APIApplication):
|
|
|
463
463
|
response.raise_for_status()
|
|
464
464
|
return response.json()
|
|
465
465
|
|
|
466
|
-
def
|
|
466
|
+
def control_live_broadcast(
|
|
467
467
|
self,
|
|
468
468
|
displaySlate=None,
|
|
469
469
|
id=None,
|
|
@@ -474,8 +474,8 @@ class YoutubeApp(APIApplication):
|
|
|
474
474
|
walltime=None,
|
|
475
475
|
) -> Any:
|
|
476
476
|
"""
|
|
477
|
-
|
|
478
|
-
|
|
477
|
+
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
|
+
|
|
479
479
|
Args:
|
|
480
480
|
displaySlate: Optional; Specifies whether or not to show a slate during the broadcast.
|
|
481
481
|
id: Optional; The ID of the live broadcast to control.
|
|
@@ -484,13 +484,13 @@ class YoutubeApp(APIApplication):
|
|
|
484
484
|
onBehalfOfContentOwnerChannel: Optional; The channel owned by the content owner.
|
|
485
485
|
part: Optional; Specifies a comma-separated list of one or more broadcasts resource properties.
|
|
486
486
|
walltime: Optional; An RFC 3339 timestamp that represents the time at which the action takes place.
|
|
487
|
-
|
|
487
|
+
|
|
488
488
|
Returns:
|
|
489
489
|
The JSON response from the server after controlling the live broadcast.
|
|
490
|
-
|
|
490
|
+
|
|
491
491
|
Raises:
|
|
492
492
|
requests.HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
493
|
-
|
|
493
|
+
|
|
494
494
|
Tags:
|
|
495
495
|
control, live-broadcast, async_job, management
|
|
496
496
|
"""
|
|
@@ -512,7 +512,7 @@ class YoutubeApp(APIApplication):
|
|
|
512
512
|
response.raise_for_status()
|
|
513
513
|
return response.json()
|
|
514
514
|
|
|
515
|
-
def
|
|
515
|
+
def transition_live_broadcast(
|
|
516
516
|
self,
|
|
517
517
|
broadcastStatus=None,
|
|
518
518
|
id=None,
|
|
@@ -521,21 +521,21 @@ class YoutubeApp(APIApplication):
|
|
|
521
521
|
part=None,
|
|
522
522
|
) -> Any:
|
|
523
523
|
"""
|
|
524
|
-
|
|
525
|
-
|
|
524
|
+
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
|
+
|
|
526
526
|
Args:
|
|
527
527
|
broadcastStatus: Optional; The status to which the live broadcast should be transitioned.
|
|
528
528
|
id: Optional; The unique identifier of the broadcast that needs to be transitioned.
|
|
529
529
|
onBehalfOfContentOwner: Optional; The YouTube content owner on whose behalf the API request is being made.
|
|
530
530
|
onBehalfOfContentOwnerChannel: Optional; The YouTube channel ID of the channel associated with the specified content owner.
|
|
531
531
|
part: Optional; A comma-separated list of one or more liveBroadcast resource properties that the API response will include.
|
|
532
|
-
|
|
532
|
+
|
|
533
533
|
Returns:
|
|
534
534
|
The JSON response from the API containing the details of the transitioned live broadcast.
|
|
535
|
-
|
|
535
|
+
|
|
536
536
|
Raises:
|
|
537
537
|
requests.HTTPError: Raised when the HTTP request to the API fails due to a server error or invalid request.
|
|
538
|
-
|
|
538
|
+
|
|
539
539
|
Tags:
|
|
540
540
|
transition, live-broadcast, youtube-api, video-management
|
|
541
541
|
"""
|
|
@@ -555,19 +555,19 @@ class YoutubeApp(APIApplication):
|
|
|
555
555
|
response.raise_for_status()
|
|
556
556
|
return response.json()
|
|
557
557
|
|
|
558
|
-
def
|
|
558
|
+
def delete_live_chat_ban(self, id=None) -> Any:
|
|
559
559
|
"""
|
|
560
|
-
Deletes a live chat ban
|
|
561
|
-
|
|
560
|
+
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
|
+
|
|
562
562
|
Args:
|
|
563
563
|
id: Optional; The unique identifier of the live chat ban to delete. If None, no specific ban is targeted.
|
|
564
|
-
|
|
564
|
+
|
|
565
565
|
Returns:
|
|
566
566
|
The JSON response from the server after deletion, typically containing operation details.
|
|
567
|
-
|
|
567
|
+
|
|
568
568
|
Raises:
|
|
569
569
|
requests.HTTPError: Raised if the HTTP request fails, indicating server-side issues or invalid parameters.
|
|
570
|
-
|
|
570
|
+
|
|
571
571
|
Tags:
|
|
572
572
|
delete, management, live-chat, async-job
|
|
573
573
|
"""
|
|
@@ -577,19 +577,19 @@ class YoutubeApp(APIApplication):
|
|
|
577
577
|
response.raise_for_status()
|
|
578
578
|
return response.json()
|
|
579
579
|
|
|
580
|
-
def
|
|
580
|
+
def delete_live_chat_message(self, id=None) -> Any:
|
|
581
581
|
"""
|
|
582
|
-
Deletes live chat
|
|
583
|
-
|
|
582
|
+
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
|
+
|
|
584
584
|
Args:
|
|
585
585
|
id: Optional; The identifier of the specific live chat message to be deleted. If not provided, it defaults to None.
|
|
586
|
-
|
|
586
|
+
|
|
587
587
|
Returns:
|
|
588
588
|
A JSON object containing the server's response to the deletion request. It includes details about the operation's success or failure.
|
|
589
|
-
|
|
589
|
+
|
|
590
590
|
Raises:
|
|
591
591
|
HTTPError: Raised if the HTTP request to delete the message fails.
|
|
592
|
-
|
|
592
|
+
|
|
593
593
|
Tags:
|
|
594
594
|
delete, live-chat, message-management
|
|
595
595
|
"""
|
|
@@ -601,17 +601,17 @@ class YoutubeApp(APIApplication):
|
|
|
601
601
|
|
|
602
602
|
def delete_live_chat_moderators(self, id=None) -> Any:
|
|
603
603
|
"""
|
|
604
|
-
Deletes a live chat moderator
|
|
605
|
-
|
|
604
|
+
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
|
+
|
|
606
606
|
Args:
|
|
607
607
|
id: The ID of the live chat moderator to delete. When None, no deletion occurs (moderator IDs must be explicitly specified).
|
|
608
|
-
|
|
608
|
+
|
|
609
609
|
Returns:
|
|
610
610
|
Parsed JSON response from the server containing deletion confirmation or error details.
|
|
611
|
-
|
|
611
|
+
|
|
612
612
|
Raises:
|
|
613
613
|
requests.HTTPError: Raised for unsuccessful HTTP responses (e.g., invalid ID, authorization failure, or server errors).
|
|
614
|
-
|
|
614
|
+
|
|
615
615
|
Tags:
|
|
616
616
|
delete, moderators, management, live-chat, async_job, ids
|
|
617
617
|
"""
|
|
@@ -623,18 +623,18 @@ class YoutubeApp(APIApplication):
|
|
|
623
623
|
|
|
624
624
|
def delete_videos(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
625
625
|
"""
|
|
626
|
-
Deletes specified videos from
|
|
627
|
-
|
|
626
|
+
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
|
+
|
|
628
628
|
Args:
|
|
629
629
|
id: (str, optional): Unique identifier of the video to delete. If omitted, no video ID is specified.
|
|
630
630
|
onBehalfOfContentOwner: (str, optional): Content owner on whose behalf the operation is performed. Defaults to authenticated user.
|
|
631
|
-
|
|
631
|
+
|
|
632
632
|
Returns:
|
|
633
633
|
(Any): Parsed JSON response from the API including deletion status/errors.
|
|
634
|
-
|
|
634
|
+
|
|
635
635
|
Raises:
|
|
636
636
|
requests.HTTPError: Raised when the API request fails (e.g., invalid video ID, insufficient permissions).
|
|
637
|
-
|
|
637
|
+
|
|
638
638
|
Tags:
|
|
639
639
|
delete, video-management, api, async_job
|
|
640
640
|
"""
|
|
@@ -648,20 +648,20 @@ class YoutubeApp(APIApplication):
|
|
|
648
648
|
response.raise_for_status()
|
|
649
649
|
return response.json()
|
|
650
650
|
|
|
651
|
-
def
|
|
651
|
+
def get_video_ratings(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
652
652
|
"""
|
|
653
|
-
Retrieves the rating
|
|
654
|
-
|
|
653
|
+
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
|
+
|
|
655
655
|
Args:
|
|
656
656
|
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
657
|
onBehalfOfContentOwner: Optional; Identifies the content owner for whom the request is being made.
|
|
658
|
-
|
|
658
|
+
|
|
659
659
|
Returns:
|
|
660
660
|
A JSON object containing the video rating information returned by the API.
|
|
661
|
-
|
|
661
|
+
|
|
662
662
|
Raises:
|
|
663
663
|
HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
664
|
-
|
|
664
|
+
|
|
665
665
|
Tags:
|
|
666
666
|
check, video-management
|
|
667
667
|
"""
|
|
@@ -675,20 +675,20 @@ class YoutubeApp(APIApplication):
|
|
|
675
675
|
response.raise_for_status()
|
|
676
676
|
return response.json()
|
|
677
677
|
|
|
678
|
-
def
|
|
678
|
+
def rate_video(self, id=None, rating=None) -> Any:
|
|
679
679
|
"""
|
|
680
|
-
Submits a rating for a video
|
|
681
|
-
|
|
680
|
+
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
|
+
|
|
682
682
|
Args:
|
|
683
683
|
id: Optional; The unique identifier of the video to rate. If None, the video ID is not included in the request.
|
|
684
684
|
rating: Optional; The rating value to assign to the video. If None, the rating is not included in the request.
|
|
685
|
-
|
|
685
|
+
|
|
686
686
|
Returns:
|
|
687
687
|
The JSON response from the server after submitting the rating.
|
|
688
|
-
|
|
688
|
+
|
|
689
689
|
Raises:
|
|
690
690
|
HTTPError: Raised when the server returns an HTTP error status.
|
|
691
|
-
|
|
691
|
+
|
|
692
692
|
Tags:
|
|
693
693
|
rate, video-management, importance
|
|
694
694
|
"""
|
|
@@ -700,19 +700,19 @@ class YoutubeApp(APIApplication):
|
|
|
700
700
|
response.raise_for_status()
|
|
701
701
|
return response.json()
|
|
702
702
|
|
|
703
|
-
def
|
|
703
|
+
def report_video_for_abuse(self, onBehalfOfContentOwner=None) -> Any:
|
|
704
704
|
"""
|
|
705
|
-
|
|
706
|
-
|
|
705
|
+
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
|
+
|
|
707
707
|
Args:
|
|
708
708
|
onBehalfOfContentOwner: Optional; YouTube content owner ID acting as the reporting entity (for partner accounts).
|
|
709
|
-
|
|
709
|
+
|
|
710
710
|
Returns:
|
|
711
711
|
Dict containing the JSON response from the YouTube API after reporting abuse.
|
|
712
|
-
|
|
712
|
+
|
|
713
713
|
Raises:
|
|
714
714
|
HTTPError: Raised when the YouTube API request fails, typically due to authentication errors or invalid parameters.
|
|
715
|
-
|
|
715
|
+
|
|
716
716
|
Tags:
|
|
717
717
|
report, abuse, video, content, api
|
|
718
718
|
"""
|
|
@@ -726,20 +726,20 @@ class YoutubeApp(APIApplication):
|
|
|
726
726
|
response.raise_for_status()
|
|
727
727
|
return response.json()
|
|
728
728
|
|
|
729
|
-
def
|
|
729
|
+
def set_channel_watermark(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
|
|
730
730
|
"""
|
|
731
|
-
Sets
|
|
732
|
-
|
|
731
|
+
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
|
+
|
|
733
733
|
Args:
|
|
734
734
|
channelId: Optional; The ID of the YouTube channel on which to set the watermark.
|
|
735
735
|
onBehalfOfContentOwner: Optional; The content owner's ID that the request is made on behalf of.
|
|
736
|
-
|
|
736
|
+
|
|
737
737
|
Returns:
|
|
738
738
|
The JSON response from the API call, which includes details about the watermark setting operation.
|
|
739
|
-
|
|
739
|
+
|
|
740
740
|
Raises:
|
|
741
741
|
requests.RequestException: Raised if there is an error with the API request, such as connection issues or invalid response status.
|
|
742
|
-
|
|
742
|
+
|
|
743
743
|
Tags:
|
|
744
744
|
watermark, youtube, management, channel-config
|
|
745
745
|
"""
|
|
@@ -756,20 +756,20 @@ class YoutubeApp(APIApplication):
|
|
|
756
756
|
response.raise_for_status()
|
|
757
757
|
return response.json()
|
|
758
758
|
|
|
759
|
-
def
|
|
759
|
+
def unset_channel_watermark(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
|
|
760
760
|
"""
|
|
761
|
-
Removes
|
|
762
|
-
|
|
761
|
+
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
|
+
|
|
763
763
|
Args:
|
|
764
764
|
channelId: Optional; The unique identifier of the YouTube channel from which to remove watermarks.
|
|
765
765
|
onBehalfOfContentOwner: Optional; The content owner that the request is on behalf of, used by YouTube content partners.
|
|
766
|
-
|
|
766
|
+
|
|
767
767
|
Returns:
|
|
768
768
|
The JSON response from the YouTube API after attempting to remove the watermarks.
|
|
769
|
-
|
|
769
|
+
|
|
770
770
|
Raises:
|
|
771
771
|
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
|
-
|
|
772
|
+
|
|
773
773
|
Tags:
|
|
774
774
|
remove, watermark, youtube
|
|
775
775
|
"""
|
|
@@ -799,8 +799,8 @@ class YoutubeApp(APIApplication):
|
|
|
799
799
|
regionCode=None,
|
|
800
800
|
) -> Any:
|
|
801
801
|
"""
|
|
802
|
-
|
|
803
|
-
|
|
802
|
+
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
|
+
|
|
804
804
|
Args:
|
|
805
805
|
channelId: The YouTube channel ID to fetch activities from. If None, fetches from multiple sources (depending on other parameters).
|
|
806
806
|
home: If True, retrieves activities from the user's personalized YouTube home feed. Requires authentication if mine is not specified.
|
|
@@ -811,13 +811,13 @@ class YoutubeApp(APIApplication):
|
|
|
811
811
|
publishedAfter: Filter activities published after this datetime (ISO 8601 format).
|
|
812
812
|
publishedBefore: Filter activities published before this datetime (ISO 8601 format).
|
|
813
813
|
regionCode: Return activities viewable in the specified two-letter ISO country code.
|
|
814
|
-
|
|
814
|
+
|
|
815
815
|
Returns:
|
|
816
816
|
Dictionary containing parsed JSON response with activity data.
|
|
817
|
-
|
|
817
|
+
|
|
818
818
|
Raises:
|
|
819
819
|
requests.HTTPError: Raised when the API request fails due to invalid parameters, authentication issues, or server errors.
|
|
820
|
-
|
|
820
|
+
|
|
821
821
|
Tags:
|
|
822
822
|
retrieve, activities, youtube, api-client, pagination, filter, async
|
|
823
823
|
"""
|
|
@@ -841,22 +841,22 @@ class YoutubeApp(APIApplication):
|
|
|
841
841
|
response.raise_for_status()
|
|
842
842
|
return response.json()
|
|
843
843
|
|
|
844
|
-
def
|
|
844
|
+
def insert_channel_banner(
|
|
845
845
|
self, channelId=None, onBehalfOfContentOwner=None
|
|
846
846
|
) -> Any:
|
|
847
847
|
"""
|
|
848
|
-
|
|
849
|
-
|
|
848
|
+
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
|
+
|
|
850
850
|
Args:
|
|
851
851
|
channelId: Optional string specifying the unique identifier of the YouTube channel for banner insertion
|
|
852
852
|
onBehalfOfContentOwner: Optional string indicating the content owner's external ID when acting on their behalf
|
|
853
|
-
|
|
853
|
+
|
|
854
854
|
Returns:
|
|
855
855
|
JSON object containing the API response with details of the newly inserted channel banner
|
|
856
|
-
|
|
856
|
+
|
|
857
857
|
Raises:
|
|
858
858
|
HTTPError: Raised when the YouTube Data API request fails (4XX or 5XX status code)
|
|
859
|
-
|
|
859
|
+
|
|
860
860
|
Tags:
|
|
861
861
|
insert, channel, banner, youtube-api, management, async_job
|
|
862
862
|
"""
|
|
@@ -875,18 +875,18 @@ class YoutubeApp(APIApplication):
|
|
|
875
875
|
|
|
876
876
|
def delete_channel_sections(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
877
877
|
"""
|
|
878
|
-
Deletes
|
|
879
|
-
|
|
878
|
+
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
|
+
|
|
880
880
|
Args:
|
|
881
881
|
id: Optional string representing the unique identifier of the target channel section. If omitted, no specific deletion occurs (behavior depends on API implementation).
|
|
882
882
|
onBehalfOfContentOwner: Optional string indicating the content owner on whose behalf the request is made.
|
|
883
|
-
|
|
883
|
+
|
|
884
884
|
Returns:
|
|
885
885
|
JSON-decoded response payload from the API server after deletion attempt.
|
|
886
|
-
|
|
886
|
+
|
|
887
887
|
Raises:
|
|
888
888
|
requests.HTTPError: Raised for HTTP 4xx/5xx responses from the server during the deletion request.
|
|
889
|
-
|
|
889
|
+
|
|
890
890
|
Tags:
|
|
891
891
|
delete, channel-section, management
|
|
892
892
|
"""
|
|
@@ -900,7 +900,7 @@ class YoutubeApp(APIApplication):
|
|
|
900
900
|
response.raise_for_status()
|
|
901
901
|
return response.json()
|
|
902
902
|
|
|
903
|
-
def
|
|
903
|
+
def list_channels(
|
|
904
904
|
self,
|
|
905
905
|
categoryId=None,
|
|
906
906
|
forUsername=None,
|
|
@@ -915,8 +915,8 @@ class YoutubeApp(APIApplication):
|
|
|
915
915
|
part=None,
|
|
916
916
|
) -> Any:
|
|
917
917
|
"""
|
|
918
|
-
Retrieves YouTube
|
|
919
|
-
|
|
918
|
+
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
|
+
|
|
920
920
|
Args:
|
|
921
921
|
categoryId: Category ID to filter channels.
|
|
922
922
|
forUsername: Username to retrieve channels for.
|
|
@@ -929,13 +929,13 @@ class YoutubeApp(APIApplication):
|
|
|
929
929
|
onBehalfOfContentOwner: Content owner ID to retrieve channels on behalf of.
|
|
930
930
|
pageToken: Token for pagination.
|
|
931
931
|
part: Specified parts of the channel resource to include in the response.
|
|
932
|
-
|
|
932
|
+
|
|
933
933
|
Returns:
|
|
934
934
|
JSON response containing the requested channels.
|
|
935
|
-
|
|
935
|
+
|
|
936
936
|
Raises:
|
|
937
937
|
ResponseError: Raised if there is an error in the HTTP response.
|
|
938
|
-
|
|
938
|
+
|
|
939
939
|
Tags:
|
|
940
940
|
search, youtube, channels, management, important
|
|
941
941
|
"""
|
|
@@ -976,8 +976,8 @@ class YoutubeApp(APIApplication):
|
|
|
976
976
|
videoId=None,
|
|
977
977
|
) -> Any:
|
|
978
978
|
"""
|
|
979
|
-
|
|
980
|
-
|
|
979
|
+
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
|
+
|
|
981
981
|
Args:
|
|
982
982
|
allThreadsRelatedToChannelId: Returns all threads associated with the specified channel, including replies
|
|
983
983
|
channelId: Channel ID to filter comment threads
|
|
@@ -990,13 +990,13 @@ class YoutubeApp(APIApplication):
|
|
|
990
990
|
searchTerms: Text search query to filter comments
|
|
991
991
|
textFormat: Formatting for comment text (e.g., 'html', 'plainText')
|
|
992
992
|
videoId: Video ID to filter associated comment threads
|
|
993
|
-
|
|
993
|
+
|
|
994
994
|
Returns:
|
|
995
995
|
JSON response containing comment thread data and pagination information
|
|
996
|
-
|
|
996
|
+
|
|
997
997
|
Raises:
|
|
998
998
|
HTTPError: Raised for unsuccessful API requests (4xx/5xx status codes)
|
|
999
|
-
|
|
999
|
+
|
|
1000
1000
|
Tags:
|
|
1001
1001
|
retrieve, comments, pagination, youtube-api, rest, data-fetch
|
|
1002
1002
|
"""
|
|
@@ -1026,20 +1026,20 @@ class YoutubeApp(APIApplication):
|
|
|
1026
1026
|
self, hl=None, maxResults=None, pageToken=None, part=None
|
|
1027
1027
|
) -> Any:
|
|
1028
1028
|
"""
|
|
1029
|
-
|
|
1030
|
-
|
|
1029
|
+
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
|
+
|
|
1031
1031
|
Args:
|
|
1032
1032
|
hl: Optional; a string representing the language for text values.
|
|
1033
1033
|
maxResults: Optional; an integer specifying the maximum number of results to return.
|
|
1034
1034
|
pageToken: Optional; a string token to retrieve a specific page in a paginated set of results.
|
|
1035
1035
|
part: Optional; a comma-separated list of one or more 'fanFundingEvent' resource properties that the API response will include.
|
|
1036
|
-
|
|
1036
|
+
|
|
1037
1037
|
Returns:
|
|
1038
1038
|
A JSON-decoded response of the fan funding events data retrieved from the API.
|
|
1039
|
-
|
|
1039
|
+
|
|
1040
1040
|
Raises:
|
|
1041
1041
|
HTTPError: Raised if the API request returns a status code that indicates an error.
|
|
1042
|
-
|
|
1042
|
+
|
|
1043
1043
|
Tags:
|
|
1044
1044
|
retrieve, events, fanfunding
|
|
1045
1045
|
"""
|
|
@@ -1058,22 +1058,22 @@ class YoutubeApp(APIApplication):
|
|
|
1058
1058
|
response.raise_for_status()
|
|
1059
1059
|
return response.json()
|
|
1060
1060
|
|
|
1061
|
-
def
|
|
1061
|
+
def get_guide_categories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
|
|
1062
1062
|
"""
|
|
1063
|
-
|
|
1064
|
-
|
|
1063
|
+
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
|
+
|
|
1065
1065
|
Args:
|
|
1066
1066
|
hl: Optional; a string that specifies the language localization.
|
|
1067
1067
|
id: Optional; a string representing the ID of the guide category.
|
|
1068
1068
|
part: Optional; a string indicating which parts of the guide category resource to return.
|
|
1069
1069
|
regionCode: Optional; a string that denotes the region of interest.
|
|
1070
|
-
|
|
1070
|
+
|
|
1071
1071
|
Returns:
|
|
1072
1072
|
A dictionary containing the JSON response representing guide categories from the service.
|
|
1073
|
-
|
|
1073
|
+
|
|
1074
1074
|
Raises:
|
|
1075
1075
|
requests.exceptions.HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
1076
|
-
|
|
1076
|
+
|
|
1077
1077
|
Tags:
|
|
1078
1078
|
get, fetch, guide-categories, api-call
|
|
1079
1079
|
"""
|
|
@@ -1092,20 +1092,20 @@ class YoutubeApp(APIApplication):
|
|
|
1092
1092
|
response.raise_for_status()
|
|
1093
1093
|
return response.json()
|
|
1094
1094
|
|
|
1095
|
-
def
|
|
1095
|
+
def get_i18n_languages(self, hl=None, part=None) -> Any:
|
|
1096
1096
|
"""
|
|
1097
|
-
|
|
1098
|
-
|
|
1097
|
+
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
|
+
|
|
1099
1099
|
Args:
|
|
1100
1100
|
hl: Optional language code to localize returned language names (e.g., 'en' for English).
|
|
1101
1101
|
part: Optional comma-separated list of i18nLanguage resource properties to include in response.
|
|
1102
|
-
|
|
1102
|
+
|
|
1103
1103
|
Returns:
|
|
1104
1104
|
JSON object containing API response with supported languages data.
|
|
1105
|
-
|
|
1105
|
+
|
|
1106
1106
|
Raises:
|
|
1107
1107
|
HTTPError: Raised for unsuccessful API requests (4XX/5XX status codes).
|
|
1108
|
-
|
|
1108
|
+
|
|
1109
1109
|
Tags:
|
|
1110
1110
|
fetch, i18n, languages, api-client
|
|
1111
1111
|
"""
|
|
@@ -1115,20 +1115,20 @@ class YoutubeApp(APIApplication):
|
|
|
1115
1115
|
response.raise_for_status()
|
|
1116
1116
|
return response.json()
|
|
1117
1117
|
|
|
1118
|
-
def
|
|
1118
|
+
def get_i18n_regions(self, hl=None, part=None) -> Any:
|
|
1119
1119
|
"""
|
|
1120
|
-
|
|
1121
|
-
|
|
1120
|
+
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
|
+
|
|
1122
1122
|
Args:
|
|
1123
1123
|
hl: Optional string representing language code for regional localization.
|
|
1124
1124
|
part: Optional comma-separated string specifying i18nRegion resource parts to include.
|
|
1125
|
-
|
|
1125
|
+
|
|
1126
1126
|
Returns:
|
|
1127
1127
|
JSON response containing i18n regions data.
|
|
1128
|
-
|
|
1128
|
+
|
|
1129
1129
|
Raises:
|
|
1130
1130
|
HTTPError: If the API request fails with a 4XX/5XX status code.
|
|
1131
|
-
|
|
1131
|
+
|
|
1132
1132
|
Tags:
|
|
1133
1133
|
list, regions, i18n, api
|
|
1134
1134
|
"""
|
|
@@ -1142,19 +1142,19 @@ class YoutubeApp(APIApplication):
|
|
|
1142
1142
|
self, id=None, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None
|
|
1143
1143
|
) -> Any:
|
|
1144
1144
|
"""
|
|
1145
|
-
Deletes
|
|
1146
|
-
|
|
1145
|
+
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
|
+
|
|
1147
1147
|
Args:
|
|
1148
1148
|
id: Optional; A comma-separated list of YouTube livestream IDs to be deleted.
|
|
1149
1149
|
onBehalfOfContentOwner: Optional; The YouTube content owner who is the channel owner of the livestream and makes this API call.
|
|
1150
1150
|
onBehalfOfContentOwnerChannel: Optional; The YouTube channel ID on behalf of which the API call is made.
|
|
1151
|
-
|
|
1151
|
+
|
|
1152
1152
|
Returns:
|
|
1153
1153
|
A JSON object containing the API's response to the delete request.
|
|
1154
|
-
|
|
1154
|
+
|
|
1155
1155
|
Raises:
|
|
1156
1156
|
requests.HTTPError: Raised when the HTTP request returns an unsuccessful status code.
|
|
1157
|
-
|
|
1157
|
+
|
|
1158
1158
|
Tags:
|
|
1159
1159
|
delete, livestream, youtube, api
|
|
1160
1160
|
"""
|
|
@@ -1172,20 +1172,20 @@ class YoutubeApp(APIApplication):
|
|
|
1172
1172
|
response.raise_for_status()
|
|
1173
1173
|
return response.json()
|
|
1174
1174
|
|
|
1175
|
-
def
|
|
1175
|
+
def delete_playlist_items(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
1176
1176
|
"""
|
|
1177
|
-
Deletes playlist items
|
|
1178
|
-
|
|
1177
|
+
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
|
+
|
|
1179
1179
|
Args:
|
|
1180
1180
|
id: Optional; The ID of the playlist item to be deleted.
|
|
1181
1181
|
onBehalfOfContentOwner: Optional; The content owner on whose behalf the playlist item is being deleted.
|
|
1182
|
-
|
|
1182
|
+
|
|
1183
1183
|
Returns:
|
|
1184
1184
|
JSON response from the server indicating the result of the deletion operation.
|
|
1185
|
-
|
|
1185
|
+
|
|
1186
1186
|
Raises:
|
|
1187
1187
|
HTTPError: Raised if the API request fails due to invalid parameters, authorization issues, or server errors.
|
|
1188
|
-
|
|
1188
|
+
|
|
1189
1189
|
Tags:
|
|
1190
1190
|
delete, playlist-items, management
|
|
1191
1191
|
"""
|
|
@@ -1201,18 +1201,18 @@ class YoutubeApp(APIApplication):
|
|
|
1201
1201
|
|
|
1202
1202
|
def delete_playlists(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
1203
1203
|
"""
|
|
1204
|
-
Deletes
|
|
1205
|
-
|
|
1204
|
+
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
|
+
|
|
1206
1206
|
Args:
|
|
1207
1207
|
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
1208
|
onBehalfOfContentOwner: Optional; A string representing the content owner on whose behalf the operation is performed. Used for delegated access.
|
|
1209
|
-
|
|
1209
|
+
|
|
1210
1210
|
Returns:
|
|
1211
1211
|
Dictionary containing the JSON response from the YouTube API after playlist deletion.
|
|
1212
|
-
|
|
1212
|
+
|
|
1213
1213
|
Raises:
|
|
1214
1214
|
HTTPError: Raised when the API request fails, typically due to invalid permissions, non-existent playlist, or network issues.
|
|
1215
|
-
|
|
1215
|
+
|
|
1216
1216
|
Tags:
|
|
1217
1217
|
delete, playlists, youtube-api, management
|
|
1218
1218
|
"""
|
|
@@ -1261,8 +1261,8 @@ class YoutubeApp(APIApplication):
|
|
|
1261
1261
|
videoType=None,
|
|
1262
1262
|
) -> Any:
|
|
1263
1263
|
"""
|
|
1264
|
-
|
|
1265
|
-
|
|
1264
|
+
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
|
+
|
|
1266
1266
|
Args:
|
|
1267
1267
|
channelId: Channel filter for the search.
|
|
1268
1268
|
channelType: Type of channel to filter by.
|
|
@@ -1295,13 +1295,13 @@ class YoutubeApp(APIApplication):
|
|
|
1295
1295
|
videoLicense: License filter for videos.
|
|
1296
1296
|
videoSyndicated: Whether videos are syndicated.
|
|
1297
1297
|
videoType: Type of video (e.g., 'movie', 'episode')
|
|
1298
|
-
|
|
1298
|
+
|
|
1299
1299
|
Returns:
|
|
1300
1300
|
JSON response containing the search results.
|
|
1301
|
-
|
|
1301
|
+
|
|
1302
1302
|
Raises:
|
|
1303
1303
|
HTTPError: If the request to the YouTube Data API fails.
|
|
1304
|
-
|
|
1304
|
+
|
|
1305
1305
|
Tags:
|
|
1306
1306
|
search, youtube-api, video-search, web-api, important
|
|
1307
1307
|
"""
|
|
@@ -1347,24 +1347,24 @@ class YoutubeApp(APIApplication):
|
|
|
1347
1347
|
response.raise_for_status()
|
|
1348
1348
|
return response.json()
|
|
1349
1349
|
|
|
1350
|
-
def
|
|
1350
|
+
def list_sponsors(
|
|
1351
1351
|
self, filter=None, maxResults=None, pageToken=None, part=None
|
|
1352
1352
|
) -> Any:
|
|
1353
1353
|
"""
|
|
1354
|
-
|
|
1355
|
-
|
|
1354
|
+
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
|
+
|
|
1356
1356
|
Args:
|
|
1357
1357
|
filter: Optional string containing filtering criteria for sponsors.
|
|
1358
1358
|
maxResults: Optional integer limiting the number of returned sponsors.
|
|
1359
1359
|
pageToken: Optional token string for paginating to a specific result page.
|
|
1360
1360
|
part: Optional string specifying which sponsor detail parts to include.
|
|
1361
|
-
|
|
1361
|
+
|
|
1362
1362
|
Returns:
|
|
1363
1363
|
JSON response containing the list of sponsors (filtered/paginated) as returned by the server.
|
|
1364
|
-
|
|
1364
|
+
|
|
1365
1365
|
Raises:
|
|
1366
1366
|
requests.HTTPError: If the HTTP request fails or returns a non-200 status code.
|
|
1367
|
-
|
|
1367
|
+
|
|
1368
1368
|
Tags:
|
|
1369
1369
|
fetch, list, pagination, filter, sponsors, api
|
|
1370
1370
|
"""
|
|
@@ -1385,17 +1385,17 @@ class YoutubeApp(APIApplication):
|
|
|
1385
1385
|
|
|
1386
1386
|
def delete_subscriptions(self, id=None) -> Any:
|
|
1387
1387
|
"""
|
|
1388
|
-
Deletes
|
|
1389
|
-
|
|
1388
|
+
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
|
+
|
|
1390
1390
|
Args:
|
|
1391
1391
|
id: Optional identifier for a specific subscription to delete (str, int, or None). If None, deletes all subscriptions.
|
|
1392
|
-
|
|
1392
|
+
|
|
1393
1393
|
Returns:
|
|
1394
1394
|
JSON-formatted response from the API containing deletion results.
|
|
1395
|
-
|
|
1395
|
+
|
|
1396
1396
|
Raises:
|
|
1397
1397
|
HTTPError: Raised for HTTP request failures (4XX/5XX status codes) during the deletion attempt.
|
|
1398
|
-
|
|
1398
|
+
|
|
1399
1399
|
Tags:
|
|
1400
1400
|
delete, subscriptions, async-job, management
|
|
1401
1401
|
"""
|
|
@@ -1405,24 +1405,24 @@ class YoutubeApp(APIApplication):
|
|
|
1405
1405
|
response.raise_for_status()
|
|
1406
1406
|
return response.json()
|
|
1407
1407
|
|
|
1408
|
-
def
|
|
1408
|
+
def get_super_chat_events(
|
|
1409
1409
|
self, hl=None, maxResults=None, pageToken=None, part=None
|
|
1410
1410
|
) -> Any:
|
|
1411
1411
|
"""
|
|
1412
|
-
|
|
1413
|
-
|
|
1412
|
+
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
|
+
|
|
1414
1414
|
Args:
|
|
1415
1415
|
hl: Optional; the language code to select localized resource information.
|
|
1416
1416
|
maxResults: Optional; the maximum number of items that should be returned in the result set.
|
|
1417
1417
|
pageToken: Optional; the token to identify a specific page in the result set.
|
|
1418
1418
|
part: Optional; the parameter specifying which super chat event resource parts to include in the response.
|
|
1419
|
-
|
|
1419
|
+
|
|
1420
1420
|
Returns:
|
|
1421
1421
|
A JSON object containing the super chat events data returned by the YouTube API.
|
|
1422
|
-
|
|
1422
|
+
|
|
1423
1423
|
Raises:
|
|
1424
1424
|
RequestException: Raised if there is an issue with the HTTP request, such as network or server errors.
|
|
1425
|
-
|
|
1425
|
+
|
|
1426
1426
|
Tags:
|
|
1427
1427
|
fetch, youtube-api, async-job
|
|
1428
1428
|
"""
|
|
@@ -1441,20 +1441,20 @@ class YoutubeApp(APIApplication):
|
|
|
1441
1441
|
response.raise_for_status()
|
|
1442
1442
|
return response.json()
|
|
1443
1443
|
|
|
1444
|
-
def
|
|
1444
|
+
def set_video_thumbnail(self, onBehalfOfContentOwner=None, videoId=None) -> Any:
|
|
1445
1445
|
"""
|
|
1446
|
-
Sets a thumbnail for a specified video on behalf of a content owner
|
|
1447
|
-
|
|
1446
|
+
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
|
+
|
|
1448
1448
|
Args:
|
|
1449
1449
|
onBehalfOfContentOwner: Optional; str. The YouTube content owner ID on whose behalf the request is being made.
|
|
1450
1450
|
videoId: Optional; str. The ID of the video for which the thumbnails are being set.
|
|
1451
|
-
|
|
1451
|
+
|
|
1452
1452
|
Returns:
|
|
1453
1453
|
dict. The response from the YouTube API as a JSON object, containing details of the updated video thumbnail.
|
|
1454
|
-
|
|
1454
|
+
|
|
1455
1455
|
Raises:
|
|
1456
1456
|
HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
1457
|
-
|
|
1457
|
+
|
|
1458
1458
|
Tags:
|
|
1459
1459
|
thumbnail, youtube-api, video-management, async-job
|
|
1460
1460
|
"""
|
|
@@ -1473,18 +1473,18 @@ class YoutubeApp(APIApplication):
|
|
|
1473
1473
|
|
|
1474
1474
|
def get_video_abuse_report_reasons(self, hl=None, part=None) -> Any:
|
|
1475
1475
|
"""
|
|
1476
|
-
|
|
1477
|
-
|
|
1476
|
+
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
|
+
|
|
1478
1478
|
Args:
|
|
1479
1479
|
hl: Optional BCP-47 language code for localizing the response (e.g., 'en' or 'fr').
|
|
1480
1480
|
part: Optional parameter specifying which parts of the abuse report reasons to include in the response (e.g., 'id' or 'snippet').
|
|
1481
|
-
|
|
1481
|
+
|
|
1482
1482
|
Returns:
|
|
1483
1483
|
A JSON object containing the list of video abuse report reasons, or filtered parts if specified.
|
|
1484
|
-
|
|
1484
|
+
|
|
1485
1485
|
Raises:
|
|
1486
1486
|
requests.RequestException: Raised if there is a problem with the HTTP request (e.g., network issues or invalid response).
|
|
1487
|
-
|
|
1487
|
+
|
|
1488
1488
|
Tags:
|
|
1489
1489
|
fetch, management, abuse-report, video-content
|
|
1490
1490
|
"""
|
|
@@ -1494,22 +1494,22 @@ class YoutubeApp(APIApplication):
|
|
|
1494
1494
|
response.raise_for_status()
|
|
1495
1495
|
return response.json()
|
|
1496
1496
|
|
|
1497
|
-
def
|
|
1497
|
+
def get_video_categories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
|
|
1498
1498
|
"""
|
|
1499
|
-
|
|
1500
|
-
|
|
1499
|
+
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
|
+
|
|
1501
1501
|
Args:
|
|
1502
1502
|
hl: Optional; the language code (e.g., 'en') for localized video category names
|
|
1503
1503
|
id: Optional; comma-separated list of video category IDs to filter results
|
|
1504
1504
|
part: Optional; list of properties (e.g., 'snippet') to include in the response
|
|
1505
1505
|
regionCode: Optional; ISO 3166-1 alpha-2 country code to filter region-specific categories
|
|
1506
|
-
|
|
1506
|
+
|
|
1507
1507
|
Returns:
|
|
1508
1508
|
Dictionary containing parsed JSON response with video category details
|
|
1509
|
-
|
|
1509
|
+
|
|
1510
1510
|
Raises:
|
|
1511
1511
|
requests.HTTPError: Raised when the API request fails with a non-success status code
|
|
1512
|
-
|
|
1512
|
+
|
|
1513
1513
|
Tags:
|
|
1514
1514
|
fetch, video-categories, api-request, json-response
|
|
1515
1515
|
"""
|
|
@@ -1528,20 +1528,20 @@ class YoutubeApp(APIApplication):
|
|
|
1528
1528
|
response.raise_for_status()
|
|
1529
1529
|
return response.json()
|
|
1530
1530
|
|
|
1531
|
-
def
|
|
1531
|
+
def delete_group_items(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
1532
1532
|
"""
|
|
1533
|
-
Deletes
|
|
1534
|
-
|
|
1533
|
+
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
|
+
|
|
1535
1535
|
Args:
|
|
1536
1536
|
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
1537
|
onBehalfOfContentOwner: Optional; A string representing the content owner on whose behalf the request is being made.
|
|
1538
|
-
|
|
1538
|
+
|
|
1539
1539
|
Returns:
|
|
1540
1540
|
A JSON object containing the response from the deletion request.
|
|
1541
|
-
|
|
1541
|
+
|
|
1542
1542
|
Raises:
|
|
1543
1543
|
HTTPError: Raised if the HTTP request returns an unsuccessful status code.
|
|
1544
|
-
|
|
1544
|
+
|
|
1545
1545
|
Tags:
|
|
1546
1546
|
delete, groupitems, management
|
|
1547
1547
|
"""
|
|
@@ -1557,18 +1557,18 @@ class YoutubeApp(APIApplication):
|
|
|
1557
1557
|
|
|
1558
1558
|
def delete_groups(self, id=None, onBehalfOfContentOwner=None) -> Any:
|
|
1559
1559
|
"""
|
|
1560
|
-
Deletes
|
|
1561
|
-
|
|
1560
|
+
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
|
+
|
|
1562
1562
|
Args:
|
|
1563
1563
|
id: Optional unique identifier for the group to delete. If None, no specific group targeted.
|
|
1564
1564
|
onBehalfOfContentOwner: Optional content owner ID for delegated authorization.
|
|
1565
|
-
|
|
1565
|
+
|
|
1566
1566
|
Returns:
|
|
1567
1567
|
JSON-decoded response indicating operation success/failure.
|
|
1568
|
-
|
|
1568
|
+
|
|
1569
1569
|
Raises:
|
|
1570
1570
|
requests.exceptions.HTTPError: Raised for invalid requests, authentication failures, or server errors during deletion.
|
|
1571
|
-
|
|
1571
|
+
|
|
1572
1572
|
Tags:
|
|
1573
1573
|
delete, management, async_job, api
|
|
1574
1574
|
"""
|
|
@@ -1582,7 +1582,7 @@ class YoutubeApp(APIApplication):
|
|
|
1582
1582
|
response.raise_for_status()
|
|
1583
1583
|
return response.json()
|
|
1584
1584
|
|
|
1585
|
-
def
|
|
1585
|
+
def get_analytics_report(
|
|
1586
1586
|
self,
|
|
1587
1587
|
currency=None,
|
|
1588
1588
|
dimensions=None,
|
|
@@ -1596,8 +1596,8 @@ class YoutubeApp(APIApplication):
|
|
|
1596
1596
|
start=None,
|
|
1597
1597
|
) -> Any:
|
|
1598
1598
|
"""
|
|
1599
|
-
|
|
1600
|
-
|
|
1599
|
+
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
|
+
|
|
1601
1601
|
Args:
|
|
1602
1602
|
currency: Optional; specifies the currency format for monetary values in the report
|
|
1603
1603
|
dimensions: Optional; list of dimensions (e.g., 'country', 'device') to include in report breakdowns
|
|
@@ -1609,13 +1609,13 @@ class YoutubeApp(APIApplication):
|
|
|
1609
1609
|
metrics: Optional; list of measurable values to include (e.g., 'clicks', 'conversions')
|
|
1610
1610
|
sort: Optional; criteria for sorting results (e.g., '-clicks' for descending order)
|
|
1611
1611
|
start: Optional; start date (YYYY-MM-DD format) for the report data range
|
|
1612
|
-
|
|
1612
|
+
|
|
1613
1613
|
Returns:
|
|
1614
1614
|
Report data as parsed JSON from the API response
|
|
1615
|
-
|
|
1615
|
+
|
|
1616
1616
|
Raises:
|
|
1617
1617
|
requests.exceptions.HTTPError: Raised when the API request fails due to invalid parameters, authentication issues, or server errors
|
|
1618
|
-
|
|
1618
|
+
|
|
1619
1619
|
Tags:
|
|
1620
1620
|
fetch, report, api, filter, sort, metrics, management
|
|
1621
1621
|
"""
|
|
@@ -1651,50 +1651,50 @@ class YoutubeApp(APIApplication):
|
|
|
1651
1651
|
list: A list containing references to various tool methods associated with job reports, media resources, comments, broadcasts, videos, activities, channels, etc.
|
|
1652
1652
|
"""
|
|
1653
1653
|
return [
|
|
1654
|
-
self.
|
|
1655
|
-
self.
|
|
1656
|
-
self.
|
|
1657
|
-
self.
|
|
1658
|
-
self.
|
|
1654
|
+
self.list_job_reports,
|
|
1655
|
+
self.get_job_report,
|
|
1656
|
+
self.delete_job,
|
|
1657
|
+
self.list_jobs,
|
|
1658
|
+
self.download_report_media,
|
|
1659
1659
|
self.get_reporttypes,
|
|
1660
1660
|
self.delete_captions,
|
|
1661
|
-
self.
|
|
1661
|
+
self.get_transcript_text,
|
|
1662
1662
|
self.delete_comments,
|
|
1663
|
-
self.
|
|
1664
|
-
self.
|
|
1663
|
+
self.mark_comment_as_spam,
|
|
1664
|
+
self.set_comment_moderation_status,
|
|
1665
1665
|
self.delete_live_broadcasts,
|
|
1666
|
-
self.
|
|
1667
|
-
self.
|
|
1668
|
-
self.
|
|
1669
|
-
self.
|
|
1670
|
-
self.
|
|
1666
|
+
self.bind_live_broadcast_to_stream,
|
|
1667
|
+
self.control_live_broadcast,
|
|
1668
|
+
self.transition_live_broadcast,
|
|
1669
|
+
self.delete_live_chat_ban,
|
|
1670
|
+
self.delete_live_chat_message,
|
|
1671
1671
|
self.delete_live_chat_moderators,
|
|
1672
1672
|
self.delete_videos,
|
|
1673
|
-
self.
|
|
1674
|
-
self.
|
|
1675
|
-
self.
|
|
1676
|
-
self.
|
|
1677
|
-
self.
|
|
1673
|
+
self.get_video_ratings,
|
|
1674
|
+
self.rate_video,
|
|
1675
|
+
self.report_video_for_abuse,
|
|
1676
|
+
self.set_channel_watermark,
|
|
1677
|
+
self.unset_channel_watermark,
|
|
1678
1678
|
self.get_activities,
|
|
1679
|
-
self.
|
|
1679
|
+
self.insert_channel_banner,
|
|
1680
1680
|
self.delete_channel_sections,
|
|
1681
|
-
self.
|
|
1681
|
+
self.list_channels,
|
|
1682
1682
|
self.get_comment_threads,
|
|
1683
1683
|
self.get_fanfundingevents,
|
|
1684
|
-
self.
|
|
1685
|
-
self.
|
|
1686
|
-
self.
|
|
1684
|
+
self.get_guide_categories,
|
|
1685
|
+
self.get_i18n_languages,
|
|
1686
|
+
self.get_i18n_regions,
|
|
1687
1687
|
self.delete_livestreams,
|
|
1688
|
-
self.
|
|
1688
|
+
self.delete_playlist_items,
|
|
1689
1689
|
self.delete_playlists,
|
|
1690
1690
|
self.get_search,
|
|
1691
|
-
self.
|
|
1691
|
+
self.list_sponsors,
|
|
1692
1692
|
self.delete_subscriptions,
|
|
1693
|
-
self.
|
|
1694
|
-
self.
|
|
1693
|
+
self.get_super_chat_events,
|
|
1694
|
+
self.set_video_thumbnail,
|
|
1695
1695
|
self.get_video_abuse_report_reasons,
|
|
1696
|
-
self.
|
|
1697
|
-
self.
|
|
1696
|
+
self.get_video_categories,
|
|
1697
|
+
self.delete_group_items,
|
|
1698
1698
|
self.delete_groups,
|
|
1699
|
-
self.
|
|
1699
|
+
self.get_analytics_report,
|
|
1700
1700
|
]
|