Youtube api 如何使用YouTube数据API将YouTube视频添加到观看历史记录?
我正在用YouTube数据API 3.0制作一个网站,用户可以在这里观看YouTube视频。我需要将这些视频转到观看历史记录,这样我就可以知道它们已被观看,但使用YouTube播放器API播放视频不会添加这些视频。我已使用playlitems.insert将视频ID添加到用户的观看历史播放列表ID中,如果我转到youtube.com,视频将显示在观看历史播放列表中。但是,当我使用数据API请求播放列表项时,它不会返回到列表中 有人知道如何将视频添加到手表历史记录中,以便在API调用中返回视频吗?或者,是否有方法使用播放器API,以便经过身份验证的用户在其观看历史记录中获取视频 以下是将视频添加到用户观看历史记录的代码:Youtube api 如何使用YouTube数据API将YouTube视频添加到观看历史记录?,youtube-api,Youtube Api,我正在用YouTube数据API 3.0制作一个网站,用户可以在这里观看YouTube视频。我需要将这些视频转到观看历史记录,这样我就可以知道它们已被观看,但使用YouTube播放器API播放视频不会添加这些视频。我已使用playlitems.insert将视频ID添加到用户的观看历史播放列表ID中,如果我转到youtube.com,视频将显示在观看历史播放列表中。但是,当我使用数据API请求播放列表项时,它不会返回到列表中 有人知道如何将视频添加到手表历史记录中,以便在API调用中返回视频吗?
gapi.client.youtube.playlistItems.insert({
'part': 'snippet',
'resource': {
'snippet': {
'playlistId': Cache.fetch('my_channel').relatedPlaylists.watchHistory,
'position': 0,
'resourceId': {
'kind': 'youtube#video',
'videoId': video_id,
}
}
}
}).execute(callback);
您可以使用此代码通过http和json进行连接和请求
try {
URL url = new URL("https://www.googleapis.com/youtube/v3/playlistItems?part=snippet"
+ "&key=AIzaSyAhONZJpMCBqCfQjFUj21cR2klf6JWbVSo"
+ "&access_token=" + access_token);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
String input = "{ \"snippet\": {\"playlistId\": \"WL\",\"resourceId\": {\"videoId\": \""+videoId+"\",\"kind\": \"youtube#video\"},\"position\": 0}}";
OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();
if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
如果您看到错误,请添加此项,但这不是一项好工作
if (Build.VERSION.SDK_INT >= 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
您能分享工作播放列表项的代码吗?插入呼叫?这不起作用。手表历史记录中禁止插入操作。