【问题标题】:NoLinkedYoutubeAccount error 401 when uploading videos on Youtube with java使用 java 在 Youtube 上上传视频时出现 NoLinkedYoutubeAccount 错误 401
【发布时间】:2012-11-23 10:34:35
【问题描述】:

我想从我的 java web 应用程序上传 youtube 上的视频: 我想接收(服务器端)我的 authToken 和 form-action 以便上传视频。

  • 我创建了一个新的 google/youtube 帐户
  • 我在自己的帐户中创建了一个 youtube 频道
  • 我在我的 google 控制台 api 中创建了一个新项目作为服务帐户

现在我正在尝试使用 oAuth 2.0 实现我的代码。 我有 accessToken 但是,当我尝试调用服务 getFormUploadToken(url, object) 时,响应总是相同的“NoLinkedYoutubeAccount 错误 401”。

我还通过 google 支持页面 http://www.youtube.com/my_account_unlink 验证了该帐户,但似乎没问题。

有人知道这个问题吗?

这是我的代码:

    HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
    JsonFactory JSON_FACTORY = new JacksonFactory();
    String accessToken = "";
    GoogleCredential credential = null;


    credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
            .setJsonFactory(JSON_FACTORY)
            .setServiceAccountId(CLIENT_EMAIL)
            .setServiceAccountScopes("http://gdata.youtube.com")
            .setServiceAccountPrivateKeyFromP12File(new File(PRIVATE_KEY_PATH))
            .build();
    credential.refreshToken();
    accessToken = credential.getAccessToken();


    YouTubeService service = new YouTubeService(CLIENT_ID, DEV_KEY);
    service.setAuthSubToken(accessToken, null);
    VideoEntry newEntry = new YouTubeMediaGroup mg = newEntry.getOrCreateMediaGroup();
    mg.setTitle(new MediaTitle());
    mg.getTitle().setPlainTextContent("My Test Movie");

    URL uploadUrl = new URL("http://gdata.youtube.com/action/GetUploadToken");
    FormUploadToken token = service.getFormUploadToken(uploadUrl, newEntry);

非常感谢, 阿尔贝三世

【问题讨论】:

    标签: java youtube-api google-api-java-client


    【解决方案1】:

    正如错误所说,您尚未将帐户凭据链接到 youtube。

    你可以解决这个问题: - 连接 www.youtube.com 中应用程序上使用的帐户 - 尝试上传视频 - youtube询问时设置姓名和姓氏,并处理链接到gmail。

    完成!!!我在使用我的应用程序之前尝试使用 Firefox 上传视频。

    【讨论】:

      【解决方案2】:

      如果您已经创建了 youtube 帐户并且已关联到您的 google 帐户,那么请确保您在 youtube 中创建自己的频道。

      这将允许 API 将视频上传到您创建的频道。

      希望对你有帮助。

      【讨论】:

        【解决方案3】:

        您无法将 YouTube 频道与服务帐户相关联,并且您尝试在服务帐户的上下文中上传。

        您应该通过 OAuth 2 流程并授权访问,而不是使用服务帐户,同时使用您实际要上传到的帐户登录到浏览器。

        我了解使用服务帐户的好处,但 YouTube 目前尚未设置为使用它们。

        【讨论】:

        • 您好杰夫,感谢您的回答!我希望登录我网站的用户能够在我的频道上上传视频。可能吗?再次感谢阿尔贝三世
        • 请参阅apiblog.youtube.com/2012/02/…,了解您提出的建议不是一个好主意的原因。
        猜你喜欢
        • 2013-01-27
        • 2013-07-02
        • 2017-10-03
        • 2011-09-11
        • 1970-01-01
        • 2018-06-28
        • 2014-01-26
        • 2012-03-26
        • 2014-11-02
        相关资源
        最近更新 更多