问题描述
我正在尝试将视频上传到 youtube:我的代码是:
I am trying to upload video to youtube:My code for the same is:
private static void uploadVideo(YouTubeService service) throws IOException {
System.out.println("First, type in the path to the movie file:");
File videoFile = new File(readLine());
if (!videoFile.exists()) {
System.out.println("Sorry, that video doesn't exist.");
return;
}
System.out.println(
"What is the MIME type of this file? (ex. 'video/quicktime' for .mov)");
String mimeType = readLine();
System.out.println("What should I call this video?");
String videoTitle = readLine();
VideoEntry newEntry = new VideoEntry();
YouTubeMediaGroup mg = newEntry.getOrCreateMediaGroup();
mg.addCategory(new MediaCategory(YouTubeNamespace.CATEGORY_SCHEME, "Entertainment"));
mg.setTitle(new MediaTitle());
mg.getTitle().setPlainTextContent(videoTitle);
mg.setKeywords(new MediaKeywords());
mg.getKeywords().addKeyword("gdata-test");
mg.setDescription(new MediaDescription());
mg.getDescription().setPlainTextContent(videoTitle);
mg.setPrivate(false);
mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "mydevtag"));
mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "anotherdevtag"));
newEntry.setGeoCoordinates(new GeoRssWhere(37.0,-122.0));
MediaFileSource ms = new MediaFileSource(videoFile, mimeType);
newEntry.setMediaSource(ms);
try {
service.insert(new URL(VIDEO_UPLOAD_FEED), newEntry);
} catch (ServiceException se) {
System.out.println("Sorry, your upload was invalid:");
System.out.println(se.getResponseBody());
return;
}
System.out.println("Video uploaded successfully!");
}
switch(uploader.getUploadState()) {
case COMPLETE:
output.println("Uploaded successfully");
break;
case CLIENT_ERROR:
output.println("Upload Failed");
break;
default:
output.println("Unexpected upload status");
break;
}
}
当我运行它时显示异常:
When i run this it shows the exception:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:189)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:641)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:589)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1319)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:490)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:470)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:534)
at com.google.gdata.client.media.MediaService.insert(MediaService.java:353)
at ytupload.YouTubeWriteClient.uploadVideo(YouTubeWriteClient.java:514)
at ytupload.YouTubeWriteClient.main(YouTubeWriteClient.java:837)
我从 main 调用的函数.上传(服务);其中 service = new YouTubeService(clientId,developerKey);我该如何修复这个错误?我浪费了一天的时间……但想不通.请提出建议.
the function i am calling from main. upload(service); where service = new YouTubeService(clientId,developerKey);How can i fix this bug? I wasted a day behind..but cant figured out. Please suggest.
VIDEO_UPLOAD_FEED ="http://gdata.youtube.com/feeds/api/users/abc123/uploads"
VIDEO_UPLOAD_FEED ="http://gdata.youtube.com/feeds/api/users/abc123/uploads"
如果我想将视频文件的路径作为某个 http url 提供怎么办?请建议.提前谢谢
And what if the path for video file i want to give as some http url?Please suggest.Thanx in advance
推荐答案
您是否成功设置了服务上的用户凭据?它可能用于创建与服务器的连接.
Did you set successfully the user credentials on the services? its probably used to create the connection to the server.
service.setUserCredentials(User, Password);
看看这个
这篇关于如何在java中修复连接重置异常?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!