介绍
youtube-api 是一个用于在 Node.js 环境下通过 YouTube 数据 API 与 YouTube 进行交互的 npm 包。它提供了各种方法,可以帮助您获取有关视频、频道、评论等信息或执行其他各种操作。
在本文中,我们将讨论如何在项目中使用 youtube-api 包,以及如何将其集成到您的应用程序中。
安装
要安装 youtube-api,您需要使用 npm 包管理器。可以通过以下命令安装:
npm install youtube-api --save
配置
为了使用 youtube-api 包,您需要了解 YouTube 数据 API 的工作方式。您需要创建一个 Google 帐户并使用它登录到 Google API 控制台。在那里,您需要创建一个项目并启用 YouTube 数据 API。
在您的项目中,您需要创建一个 OAuth2 客户端 ID。 在这里,您可以为您的 Web 应用程序生成客户端 ID。
在通过 OAuth2 权限授权访问 YouTube 公开数据资源之前,您需要获取访问令牌。这需要在终端上运行命令,使用你的客户端 ID 和密钥:
export GOOGLE_CLIENT_ID="Your_Client_ID" export GOOGLE_CLIENT_SECRET="Your_Client_Secret" export GOOGLE_REDIRECT_URI="http://localhost:8888/oauth2callback"
有关详细信息,请查看 Google OAuth2 资源。
现在,您可以创建 YouTube API 的配置对象:
const {google} = require('googleapis'); const {client_secret, client_id, redirect_uris} = require('./credentials.json').installed; const oAuth2Client = new google.auth.OAuth2( client_id, client_secret, redirect_uris[0]); oAuth2Client.setCredentials({ refresh_token: 'REFRESH_TOKEN' });
在上面的代码中,您需要将 REFRESH_TOKEN 替换为本地存储的令牌。
使用
现在,您已准备好使用 youtube-api 包从 YouTube 检索和上传视频或其他数据。
检索视频
让我们从一个模块开始,该模块包括一个从 YouTube API 中检索视频的函数。
-- -------------------- ---- ------- ----- -------- - ---------------------- ----- ------- - --------------------- ----- -------- ------------------- - ----- -------- - ----- -------------------- ----- ------------- ----- ------------- --- ------- --- ------ ----------------------- -展开代码
在此示例中,我们通过传递视频 ID 获取视频的标题、描述、发布日期和其他详细信息。
上传视频
让我们看一下上传视频的示例代码。
-- -------------------- ---- ------- ----- -------- - ---------------------- ----- ------- - --------------------- ----- -------- -------------------- - ----- ------- ------------ -------- --------- - -------- ----- -------- - --------------------------- ----- --------------- - --- ----------------- ----- ------------- ---------- --------- --------- - -------- - ------ ------------ ----------- -- -- ------- - -------------- ------- - - --- ------------------------ - --------- ------ --- ----------------- ------- -- - -------------------------------------- ---------- -- - -- ------- - ------ -------------- - --------------------------------- ------- ------- -- - -- ------- - ------ -------------- - ---------------- --- --- --- -展开代码
在此示例中,我们使用 ResumableUpload 类进行视频的上传。 我们还指定视频的元数据,包括视频标题、描述、隐私设置和所属的 YouTube 类别。
示例
下面是一个完整的示例,该示例将从 YouTube 拉取一个视频,然后将其上传到您的帐户。 它还演示了如何使用高级启用功能,例如审查状态、跟踪上传进度和提供通知。
-- -------------------- ---- ------- ----- -------- - ---------------------- ----- ------- - --------------------- ----- --------------- - ----------------------------------------- ----- -- - -------------- ----- -------- - -------------- ----- --------- - ----------------- ----- ------------- - --------------------- ----- ------------- - --------------------- ----- ------------ - --------------------------------------- ----- ------------ - --- ----------------------------- -------------- -------------- ------------------------------------------- ---------------- ----- -------- ------------------- - ----- -------- - ----- -------------------- ----- ------------- ----- ------------- --- ------- --- ------ ----------------------- - ----- -------- -------------------- - ----- ------- ------------ -------- --------- - -------- ----- -------- - --------------------------- ----- --------------- - --- ----------------- ----- ------------- ---------- --------- --------- - -------- - ------ ------------ ----------- -- -- ------- - -------------- ------- - -- -------------- ----- ----------- -- -- ------------------------- ----------------- ----------- --------- ------ -- - ----- ------- - -------- - ----- - ---- ------------------------ ----------- -- ----------------- -------- -------- -- ------------------- ------- ----------- --- ------------------------ - --------- ------ --- ----------------- ------- -- - -------------------------------------- ---------- -- - -- ------- - ------ -------------- - --------------------------------- ------- ------- -- - -- ------- - ------ -------------- - ---------------- --- --- --- - ----- -------- ------ - ----- ----- - ----- --------------------- --------------------- --------------------- ----- ------ - ----- ------------- ------ ------- ------------ ----- ----- -------- -------- ---------- --------- ------------ --- ------------------- --------- ----- ----- ----------- - ----------------------------展开代码
结论
在本文中,我们讨论了如何使用 npm 包 youtube-api 在 Node.js 环境下与 YouTube 数据 API 进行交互。 我们提供了一个简单的示例,演示了如何从 YouTube 拉取视频、上传视频和提供通知。如果你还没有使用 youtube-api,这篇文章可以帮助您入门,并在将来的项目中运用它。
参考
- YouTube Data API Overview. https://developers.google.com/youtube/v3/
- YouTube Data API - Google APIs. https://console.developers.google.com/
- Google Developers. API Console. https://console.developers.google.com/flows/enableapi?apiid=youtube#l86
- Google’s OAuth2 Specification. https://tools.ietf.org/html/rfc6749
- node-youtube-resumable-upload. https://www.npmjs.com/package/node-youtube-resumable-upload
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/183298