【问题标题】:Problem uploading to YouTube using Google API Java Client使用 Google API Java 客户端上传到 YouTube 时出现问题
【发布时间】:2011-07-10 04:35:10
【问题描述】:

我正在使用 Google API Java 客户端库 (http://code.google.com/p/google-api-java-client/) 将我的 Android 手机上的视频上传到 YouTube。

这是我目前的代码:

// Create the meta data
Entry entry = new Entry();
entry.group = new MediaGroup();
entry.group.title = "test title";
entry.group.description = "test description";
entry.group.category = new MediaCategory();
entry.group.category.Cat = "People\n";

XmlNamespaceDictionary namespaceDictionary = Util.NAMESPACE_DICTIONARY;

AtomContent aContent = new AtomContent();
aContent.entry = entry;
aContent.namespaceDictionary = namespaceDictionary;

// Create the actual video data
InputStreamContent bContent = new InputStreamContent();
bContent.inputStream =
    context.getContentResolver().openInputStream(media);
bContent.type = context.getContentResolver().getType(media);
bContent.length = videoAsset.getLength();

// Build up the POST request
MultipartRelatedContent multiContent = new MultipartRelatedContent();
multiContent.parts.add(aContent);
multiContent.parts.add(bContent);


HttpRequest request = transport.buildPostRequest();
request.url = YouTubeUrl.uploadUrl();
GoogleHeaders headers = (GoogleHeaders) request.headers;
headers.setSlugFromFileName("mytest.3gpp");
request.content = multiContent;
request.headers.contentType = multiContent.getType();

request.execute();

不幸的是,我在调用 request.execute() 时遇到了异常:

03-06 23:28:58.887: WARN/System.err(18923): com.google.api.client.http.HttpResponseException: 415 Unsupported Media Type
03-06 23:28:58.897: WARN/System.err(18923):     at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:221)
03-06 23:28:58.897: WARN/System.err(18923):     at com.abless.vidshare.YouTubeAPI.upload(YouTubeAPI.java:118)
03-06 23:28:58.897: WARN/System.err(18923):     at com.abless.vidshare.VidShare.onActivityResult(VidShare.java:185)
03-06 23:28:58.897: WARN/System.err(18923):     at android.app.Activity.dispatchActivityResult(Activity.java:3931)
03-06 23:28:58.907: WARN/System.err(18923):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3730)
03-06 23:28:58.907: WARN/System.err(18923):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3776)
03-06 23:28:58.907: WARN/System.err(18923):     at android.app.ActivityThread.access$2800(ActivityThread.java:135)
03-06 23:28:58.907: WARN/System.err(18923):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2166)
03-06 23:28:58.907: WARN/System.err(18923):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-06 23:28:58.907: WARN/System.err(18923):     at android.os.Looper.loop(Looper.java:144)
03-06 23:28:58.907: WARN/System.err(18923):     at android.app.ActivityThread.main(ActivityThread.java:4937)
03-06 23:28:58.907: WARN/System.err(18923):     at java.lang.reflect.Method.invokeNative(Native Method)
03-06 23:28:58.917: WARN/System.err(18923):     at java.lang.reflect.Method.invoke(Method.java:521)
03-06 23:28:58.917: WARN/System.err(18923):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-06 23:28:58.917: WARN/System.err(18923):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-06 23:28:58.917: WARN/System.err(18923):     at dalvik.system.NativeStart.main(Native Method)

我做错了什么?似乎 MultipartRelatedContent 没有自动指定 Content-Length,这可能是问题吗?看了一下实现代码,MultipartRelatedContent.getLength()返回-1,用处不大。

是否有人设法使用 Google API Java 客户端库将视频成功上传到 YouTube?

谢谢。

-亚历山大

编辑:即使我填写了 Content-Length 部分,我仍然会收到相同的错误(415 Unsupported Media Type),所以这并不能解决它。 POST 标头似乎是错误的?

【问题讨论】:

  • 嘿,我也在做同样的事情,你能帮我提出你的建议吗,我在通过 android 应用程序将这些视频上传到 youtube 时遇到了麻烦 :) 请尽快回复
  • 嘿,任何人都已经在 android 中上传了 youtube 视频,请帮助我

标签: java android google-api youtube-api


【解决方案1】:

我自己想通了...原来 YouTubeURL 使用了 JsonC 选项。在注释掉那行之后,一切都很顺利。

【讨论】:

    【解决方案2】:

    如果有人对使用新的 google-api-java-client 的示例感兴趣,我已将其附加到 bug 16

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 2013-10-05
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 2018-11-06
      相关资源
      最近更新 更多