【问题标题】:How to get view count from YouTube APIs for android如何从适用于 Android 的 YouTube API 获取观看次数
【发布时间】:2016-02-25 05:44:40
【问题描述】:

如何从适用于 Android 的 YouTube API 获取观看次数:我无法从适用于 Android 的 YouTube API 中找到任何与 getViewCount 相关的文档。一般有适用于 java 的信息,但不适用于 android。 我被卡住了,请帮忙。

【问题讨论】:

    标签: android android-fragments android-activity youtube-api android-youtube-api


    【解决方案1】:

    https://www.googleapis.com/youtube/v3/videos?part=statistics&id={{VIDEO-ID}}&key={{YOUR-KEY}}

    在用于统计的 JSONObject 下是一个名为“viewCount”的字段

    帮助您的文档:https://developers.google.com/youtube/v3/docs/videos#resource

    如果使用 REST API 客户端

    这是添加统计部分时的示例:

    {
     "kind": "youtube#videoListResponse",
     "etag": etag,
     "pageInfo": {
     "totalResults": integer,
     "resultsPerPage": integer
    },
    "items": [
      {
       "kind": "youtube#video",
       "etag": etag,
       "id": string,
       "statistics": {
        "viewCount": unsigned long,
        "likeCount": unsigned long,
        "dislikeCount": unsigned long,
        "favoriteCount": unsigned long,
        "commentCount": unsigned long
       }
      }
    ]
    

    只需获取名为“statistics”的 JSONObject,然后直接访问字段“viewCount”即可。

    JSONArray items = response.getJSONArray("items");
    JSONObject statistics = items.getJSONObject(0).getJSONObject("statistics");
    Long views = statistics.getLong("viewCount");
    

    编辑:显示实际响应和正确访问

    如果使用 Youtube API v3 模块

    在 app build.gradle 文件夹中将 Youtube API v3 依赖项添加到您的项目中:

    dependencies {
        compile 'com.google.apis:google-api-services-youtube:v3-rev152-1.21.0'
    }
    

    这是您需要的头文件或 jar 文件。然后你可以像我上面展示的那样实例化一个 YouTube 对象:

    YouTube youtube = new YouTube.Builder(new NetHttpTransport(), new JacksonFactory(), new HttpRequestInitializer());
    
    YouTube.Videos.List videoRequest = youtube.videos().list("contentDetails");
     videoRequest.setId("SOME-VIDEO-ID");
     videoRequest.setFields("items/contentDetails");
     videoRequest.setKey("YOUR-API-KEY");
     VideoListResponse response = videoRequest.execute(); //blocking call, ensure to perform off ui thread via AsyncTask 
     List<Video> videosList = response.getItems(); 
    
     if(videosList != null && videosList.size() > 0){
         Video video = videosList.get(0);
         VideoStatistics statistics = video.getStatistics();
         BigInteger viewCount = statistics.getViewCount();
     }
    

    文档:https://developers.google.com/resources/api-libraries/documentation/youtube/v3/java/latest/com/google/api/services/youtube/model/Video.html#getStatistics()

    【讨论】:

    • 谢谢。我实际上正在寻找 Android YouTube API。我正在开发一个应用程序,我需要在其中找出查看次数。请推荐一些 Android 代码。
    • 我实际上已经在 Android 中使用 AsyncHttpClient 来处理 GET 请求等。让我看看我能为你做些什么
    • 此外,Youtube 数据 API 是您正在使用的模块,或者您正在通过 REST API 调用请求您的数据,就像我在讨论的那样......无论如何,您正在使用相同的 API
    • @ALS 代码我添加到我的答案中,因为 en edit 应该对您有所帮助。
    • 感谢卢卡斯的慷慨帮助。我是 Android 应用程序开发的新手,尤其是使用 Android YouTube API 的新手。您能否建议我需要导入的库头文件?我要做的就是在我的应用程序中显示缩略图和查看次数,并在单击缩略图时播放视频。如果您可以提供执行上述任务的示例代码,那就太好了。感谢您的帮助。
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 2011-11-21
    • 2015-08-30
    • 2019-03-12
    • 2021-01-09
    • 1970-01-01
    相关资源
    最近更新 更多