如何从 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();
}
如何从 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();
}