上传 youtube 视频服务器端

2022-01-19 00:00:00 youtube youtube-api java

在我的应用程序中,用户可以将视频直接上传到我的 youtube 频道以将其公开.

  • 我的应用程序的客户端部分获取视频并将其上传到我的服务器.
  • 然后我的服务器使用 Youtube API 将视频上传到 我的 youtube 频道.

这是我的实现方式:

  1. 创建了一个新项目:

    您可以在此处查看 Java 示例:https://github.com/youtube/api-samples/tree/master/java

    In my application, the user can upload a video directly to my youtube channel to make it public.

    • The client part of my application acquires the video and uploads it to my server.
    • My server then uses Youtube API to upload the video to my youtube channel.

    And here is how I implemented it:

    1. Created a new project: https://console.developers.google.com/project

    2. Enabled YouTube Data API v3:

    3. Created a Key for server applications:

    4. Here's my java code:

      YouTube youtube = new YouTube.Builder(HTTP_TRANSPORT, JSON_FACTORY, new HttpRequestInitializer() {
          @Override
          public void initialize(HttpRequest httpRequest) throws IOException {
      
          }
      })//
      .setYouTubeRequestInitializer(new YouTubeRequestInitializer("XXXX"))//same as above
      .setApplicationName("Some Name")//is it important?
      .build();
      

    The rest of the java code is the same as the code samples

    But I can't get this to work, and I'm getting:

    GoogleJsonResponseException code:
    com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized
    

    Any idea why? What Can I check?

    Is the API KEY sufficient here ?

    Thank you

    解决方案

    You need a full OAuth for this, also use as installed application rather server application. And user has to go through OAuth2. Service accounts are not supported in Data API v3.

    More info:https://developers.google.com/youtube/v3/guides/authentication

    You can check Java samples here: https://github.com/youtube/api-samples/tree/master/java

相关文章