如何从 android 的 YouTube API 获取观看次数

How to get view count from YouTube APIs for android

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

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 模块

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

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()