TypeScript @-services-youtube-gapiWrapper.gapiWrapper类(方法)实例源码

下面列出了TypeScript @-services-youtube-gapiWrapper.gapiWrapper 类(方法)源码代码实例,从而了解它的用法。

作者:pranavjindal99    项目:Youtube-Materia   
async getVideoComments(params: {
    videoId: string;
    maxResults: number;
    order: CommentThreadOrder;
    pageToken?: string;
  }) {
    await asyncYoutubeClientAPI;
    if (config.isPrerendering) {
      return Promise.reject("");
    }

    return gapiWrapper({
      method: gapi.client.youtube.commentThreads.list,
      memCache: params.order === CommentThreadOrder.TIME,
      diskCache: params.order === CommentThreadOrder.RELEVANCE,
      cacheDuration:
        params.order === CommentThreadOrder.TIME ? ms(1, "min") : ms(5, "min"),
      methodId: "8",
      params: {
        part: "snippet,replies",
        videoId: params.videoId,
        maxResults: params.maxResults,
        order: params.order,
        pageToken: params.pageToken,
        textFormat: "plainText"
      }
    }).then(result => {
      return result;
    });
  }

作者:pranavjindal99    项目:Youtube-Materia   
async getAllCategories() {
   await asyncYoutubeClientAPI;
   return gapiWrapper({
     method: gapi.client.youtube.videoCategories.list,
     methodId: "6",
     params: {
       part: "snippet",
       hl: i18n.locale,
       regionCode: await asyncRegionCode,
       fields: "eventId,items(id,snippet)"
     }
   }).then(result => {
     return result.items;
   });
 }

作者:pranavjindal99    项目:Youtube-Materia   
async getVideoDetails(videoIds: string[]) {
   await asyncYoutubeClientAPI;
   return gapiWrapper({
     method: gapi.client.youtube.videos.list,
     methodId: "2",
     diskCache: true,
     params: {
       hl: i18n.locale,
       regionCode: await asyncRegionCode,
       part: "snippet,statistics,contentDetails",
       id: videoIds.join(",")
     }
   }).then(result => {
     return result;
   });
 }

作者:pranavjindal99    项目:Youtube-Materia   
async getChannelDetails(
   channelIds: string[],
   part = "snippet,statistics,brandingSettings"
 ) {
   await asyncYoutubeClientAPI;
   return gapiWrapper({
     method: gapi.client.youtube.channels.list,
     methodId: "3",
     diskCache: true,
     params: {
       hl: i18n.locale,
       part: part,
       id: channelIds.join(",")
     }
   }).then(result => {
     return result;
   });
 }

作者:pranavjindal99    项目:Youtube-Materia   
async getCommentReplies(params: {
   commentId: string;
   maxResults: number;
   pageToken: string;
 }) {
   await asyncYoutubeClientAPI;
   return gapiWrapper({
     method: gapi.client.youtube.comments.list,
     methodId: "9",
     params: {
       part: "snippet",
       pageToken: params.pageToken,
       parentId: params.commentId,
       maxResults: params.maxResults
     }
   }).then(result => {
     return result;
   });
 }

作者:pranavjindal99    项目:Youtube-Materia   
async getAllRegions() {
   await asyncYoutubeClientAPI;
   return gapiWrapper({
     method: gapi.client.youtube.i18nRegions.list,
     methodId: "5",
     diskCache: true,
     cacheDuration: ms(30, "day"),
     params: {
       hl: i18n.locale,
       part: "snippet",
       fields: "items/snippet"
     }
   }).then(result => {
     return result.items.map(item => {
       return {
         regionCode: item.snippet.gl,
         regionName: item.snippet.name
       };
     });
   });
 }

作者:pranavjindal99    项目:Youtube-Materia   
async getChannelSubscriptions(params: {
   channelId: string;
   pageToken?: string;
   maxResults: number;
 }) {
   await asyncYoutubeClientAPI;
   return gapiWrapper({
     method: gapi.client.youtube.subscriptions.list,
     methodId: "4",
     diskCache: true,
     params: {
       channelId: params.channelId,
       part: "snippet",
       order: "alphabetical",
       pageToken: params.pageToken,
       maxResults: params.maxResults
     }
   }).then(result => {
     return result;
   });
 }

作者:pranavjindal99    项目:Youtube-Materia   
async searchVideos(parameters: SearchParams) {
   await asyncYoutubeClientAPI;
   return gapiWrapper({
     method: gapi.client.youtube.search.list,
     methodId: "1",
     diskCache: true,
     params: {
       channelId: parameters.channelId,
       order: parameters.order,
       part: "snippet",
       type: "video",
       regionCode: await asyncRegionCode,
       maxResults: parameters.maxResults,
       relatedToVideoId: parameters.relatedToVideoId,
       q: parameters.query,
       pageToken: parameters.pageToken
     }
   }).then(result => {
     return result;
   });
 }

作者:pranavjindal99    项目:Youtube-Materia   
async getCategoryTrendingVideos(params: {
   pageToken?: string;
   videoCategoryId?: string;
   maxResults: number;
 }) {
   await asyncYoutubeClientAPI;
   return gapiWrapper({
     method: gapi.client.youtube.videos.list,
     methodId: "7",
     diskCache: true,
     params: {
       part: "snippet,statistics,contentDetails",
       hl: i18n.locale,
       regionCode: await asyncRegionCode,
       chart: "mostPopular",
       maxResults: params.maxResults,
       pageToken: params.pageToken,
       videoCategoryId: params.videoCategoryId
     }
   }).then(result => {
     return result;
   });
 }


问题


面经


文章

微信
公众号

扫码关注公众号