שירות YouTube
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
שירות YouTube מאפשר לכם להשתמש ב-YouTube Data API וב-YouTube Live Streaming API ב-Apps Script. ממשק ה-API הזה מאפשר למשתמשים לנהל את הסרטונים, הפלייליסטים, הערוצים והאירועים בשידור חי שלהם.
חומרי עזר
מידע מפורט על השירות הזה זמין במסמכי התיעוד הבאים:
בדומה לכל השירותים המתקדמים ב-Apps Script, שירות YouTube משתמש באותם אובייקטים, שיטות ופרמטרים כמו ה-API הציבורי. מידע נוסף זמין במאמר איך נקבעות חתימות של שיטות.
כדי לדווח על בעיות ולמצוא אפשרויות תמיכה אחרות, אפשר לעיין בדפי התמיכה המתאימים:
קוד לדוגמה
בדוגמה של הקוד שבהמשך נעשה שימוש בגרסה 3 של YouTube Data API.
חיפוש לפי מילת מפתח
הפונקציה הזו מחפשת סרטונים על כלבים, ואז מתעדת את מזהי הסרטונים ואת השם שלהם.
שימו לב: הדגימה הזו מגבילה את התוצאות ל-25. כדי לקבל יותר תוצאות, מעבירים פרמטרים נוספים כמו שמופיע במאמרי העזרה של YouTube Data API.
אחזור העלאות
הפונקציה הזו מאחזרת את הסרטונים שהמשתמש העלה. הוא עושה את זה באמצעות השלבים הבאים:
- שליפת הערוץ של המשתמש
- שליפה של הפלייליסט
uploads
של המשתמש
- מבצע איטרציה בפלייליסט הזה ומתעד את מזהי הסרטונים ואת השמות שלהם
- אם יש דף תוצאות הבא, הוא נטען ואז חוזרים לשלב 3.
הירשם לערוץ
בדוגמה הזו, המשתמש נרשם לערוץ Google Developers ב-YouTube.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-31 (שעון UTC).
[null,null,["עדכון אחרון: 2025-08-31 (שעון UTC)."],[[["\u003cp\u003eThe YouTube service in Apps Script allows you to manage videos, playlists, channels, and live events using the YouTube Data API and YouTube Live Streaming API.\u003c/p\u003e\n"],["\u003cp\u003eThis is an advanced service that needs to be enabled before use within your Apps Script project.\u003c/p\u003e\n"],["\u003cp\u003eSample code is provided to demonstrate searching for videos, retrieving user uploads, and subscribing to channels using the API.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the YouTube Data API and YouTube Live Streaming API reference documentation for detailed information and further functionalities.\u003c/p\u003e\n"]]],[],null,["# YouTube Service\n\nThe YouTube service allows you to use the [YouTube Data API](/youtube/v3)\nand [YouTube Live Streaming API](/youtube/v3/live) in Apps Script. This API\ngives users the ability to manage their videos, playlists, channels, and live\nevents.\n| **Note:** This is an advanced service that must be [enabled before use](/apps-script/guides/services/advanced).\n\nReference\n---------\n\nFor detailed information on this service, see the following reference\ndocumentation:\n\n- [YouTube Data API](/youtube/v3/docs)\n- [YouTube Live Streaming API](/youtube/v3/live/docs)\n\nLike all advanced services in Apps Script, the YouTube service uses the same\nobjects, methods, and parameters as the public API. For more information, see [How method signatures are determined](/apps-script/guides/services/advanced#how_method_signatures_are_determined).\n\nTo report issues and find other support, see the corresponding support pages:\n\n- [YouTube Data API support](/youtube/v3/support)\n- [YouTube Live Streaming API support](/youtube/v3/live/support)\n\nSample code\n-----------\n\nThe sample code below uses [version 3](/youtube/v3/docs) of the YouTube Data\nAPI.\n\n### Search by keyword\n\nThis function searches for videos about dogs, then logs the video IDs and title.\nNote that this sample limits the results to 25. To return more results, pass\nadditional parameters as shown in the\n[YouTube Data API reference documentation](/youtube/v3/docs/search/list). \nadvanced/youtube.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/youtube.gs) \n\n```javascript\n/**\n * Searches for videos about dogs, then logs the video IDs and title.\n * Note that this sample limits the results to 25. To return more\n * results, pass additional parameters as shown in the YouTube Data API docs.\n * @see https://developers.google.com/youtube/v3/docs/search/list\n */\nfunction searchByKeyword() {\n try {\n const results = YouTube.Search.list('id,snippet', {\n q: 'dogs',\n maxResults: 25\n });\n if (results === null) {\n console.log('Unable to search videos');\n return;\n }\n results.items.forEach((item)=\u003e {\n console.log('[%s] Title: %s', item.id.videoId, item.snippet.title);\n });\n } catch (err) {\n // TODO (developer) - Handle exceptions from Youtube API\n console.log('Failed with an error %s', err.message);\n }\n}\n```\n\n### Retrieve uploads\n\nThis function retrieves the user's uploaded videos. It does this using the\nfollowing steps:\n\n1. Fetches the user's channel\n2. Fetches the user's `uploads` playlist\n3. Iterates through this playlist and logs the video IDs and titles\n4. If there is a next page of results, fetches it, then returns to step 3\n\nadvanced/youtube.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/youtube.gs) \n\n```javascript\n/**\n * This function retrieves the user's uploaded videos by:\n * 1. Fetching the user's channel's.\n * 2. Fetching the user's \"uploads\" playlist.\n * 3. Iterating through this playlist and logs the video IDs and titles.\n * 4. If there is a next page of resuts, fetching it and returns to step 3.\n */\nfunction retrieveMyUploads() {\n try {\n // @see https://developers.google.com/youtube/v3/docs/channels/list\n const results = YouTube.Channels.list('contentDetails', {\n mine: true\n });\n if (!results || results.items.length === 0) {\n console.log('No Channels found.');\n return;\n }\n for (let i = 0; i \u003c results.items.length; i++) {\n const item = results.items[i];\n /** Get the channel ID - it's nested in contentDetails, as described in the\n * Channel resource: https://developers.google.com/youtube/v3/docs/channels.\n */\n const playlistId = item.contentDetails.relatedPlaylists.uploads;\n let nextPageToken = null;\n do {\n // @see: https://developers.google.com/youtube/v3/docs/playlistItems/list\n const playlistResponse = YouTube.PlaylistItems.list('snippet', {\n playlistId: playlistId,\n maxResults: 25,\n pageToken: nextPageToken\n });\n if (!playlistResponse || playlistResponse.items.length === 0) {\n console.log('No Playlist found.');\n break;\n }\n for (let j = 0; j \u003c playlistResponse.items.length; j++) {\n const playlistItem = playlistResponse.items[j];\n console.log('[%s] Title: %s',\n playlistItem.snippet.resourceId.videoId,\n playlistItem.snippet.title);\n }\n nextPageToken = playlistResponse.nextPageToken;\n } while (nextPageToken);\n }\n } catch (err) {\n // TODO (developer) - Handle exception\n console.log('Failed with err %s', err.message);\n }\n}\n```\n\n### Subscribe to channel\n\nThis sample subscribes the user to the Google Developers channel on YouTube. \nadvanced/youtube.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/youtube.gs) \n\n```javascript\n/**\n * This sample subscribes the user to the Google Developers channel on YouTube.\n * @see https://developers.google.com/youtube/v3/docs/subscriptions/insert\n */\nfunction addSubscription() {\n // Replace this channel ID with the channel ID you want to subscribe to\n const channelId = 'UC_x5XG1OV2P6uZZ5FSM9Ttw';\n const resource = {\n snippet: {\n resourceId: {\n kind: 'youtube#channel',\n channelId: channelId\n }\n }\n };\n\n try {\n const response = YouTube.Subscriptions.insert(resource, 'snippet');\n console.log('Added subscription for channel title : %s', response.snippet.title);\n } catch (e) {\n if (e.message.match('subscriptionDuplicate')) {\n console.log('Cannot subscribe; already subscribed to channel: ' +\n channelId);\n } else {\n // TODO (developer) - Handle exception\n console.log('Error adding subscription: ' + e.message);\n }\n }\n}\n```"]]