我正在尝试使用新的YouTube Data API v3在Android上将视频上传到youtube,但我收到了403禁用错误:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
01-22 00:10:41.716: WARN/System.err(5209): {
01-22 00:10:41.716: WARN/System.err(5209): "code" : 403,
01-22 00:10:41.716: WARN/System.err(5209): "errors" : [ {
01-22 00:10:41.716: WARN/System.err(5209): "domain" : "youtube.header",
01-22 00:10:41.716: WARN/System.err(5209): "location" : "Authorization",
01-22 00:10:41.716: WARN/System.err(5209): "locationType" : "header",
01-22 00:10:41.716: WARN/System.err(5209): "message" : "Forbidden",
01-22 00:10:41.716: WARN/System.err(5209): "reason" : "youtubeSignupRequired"
01-22 00:10:41.716: WARN/System.err(5209): } ],
01-22 00:10:41.720: WARN/System.err(5209): "message" : "Forbidden"
01-22 00:10:41.720: WARN/System.err(5209): }
代码如下:
我获得了OAuth2.0凭据,并使用它来创建youtube的实例:
YouTube youTube = new YouTube.Builder(new NetHttpTransport(), new JacksonFactory(), credential)
.setApplicationName("testapp/1.0")
.build();
# ... creating video to save space ...
youTube.videos().insert("snippet,statistics,status", video, mediaContent).execute();
任何想法?
由于
答案 0 :(得分:1)
听起来您正在尝试将视频上传到未关联的Google帐户。虽然该帖子的重点是API的v2.1,但在某种程度上,this blog post涵盖了这种情况。
说到v3,您仍然无法将视频上传到未关联的Google帐户,并且没有API调用允许用户以编程方式链接帐户。您最好的选择是将用户带到http://m.youtube.com/create_channel,然后他们可以通过浏览器处理链接,此时他们必须返回您的应用并再次尝试上传。
答案 1 :(得分:1)
您可以在WebView中使用此移动工作流程,让用户无需离开您的应用即可创建频道:
https://m.youtube.com/create_channel?chromeless=1&next=/channel_creation_done
一旦完成,进程将把用户带到/ channel_creation_done,然后你可以关闭WebView。您可以在此处找到有关工作流程的更多信息:https://developers.google.com/youtube/create-channel
答案 2 :(得分:0)
我解决了,我的答案在这里: How to insert video youtube api v3 through service account with ruby 享受!
您获得的错误是因为您没有添加带有电子邮件的人物标签来上传电影。如果您使用我的答案中的代码
,这一切都已解决并正常工作