如何使用java中的refreshtoken在Youtube上传视频

时间:2016-09-19 13:57:13

标签: java youtube-api google-oauth

我正在尝试使用授权码将视频上传到Youtube。

dist

这是有效的,用户每次上传视频时都必须进行身份验证。 现在我希望使用我已经拥有的refreshtoken生成的accesstoken上传视频。 但是需要集成我的Auth文件,其中LocalServerReceiver在内部使用Jetty服务器。

我已编写代码以从刷新令牌获取accessstoken。请帮我集成它。

import { MyComponent from 'ShareableComponentsLib1' };

1 个答案:

答案 0 :(得分:2)

在使用google-java-api进行Youtube视频上传时,我遇到了两个问题

  1. 码头服务器实例的一个实例,它将持续收听,直到响应来自Google,如重定向网址中所述。
  2. 虽然在setHost()类中有一个名为new LocalServerReceiver.Builder()的函数负责创建本地jetty服务器实例,但每次主机名时都会通过无法分配请求的地址错误无论港口无关紧要,都给予了。
  3. 整个授权过程在 AuthorizationCodeInstalledApp 类的授权方法中完成,其主要功能如下

    1. 创建一个网址,要求用户授予对该应用的访问权限。
    2. 成功验证后,将收到一个代码(jetty服务器的实例会持续监听,直到收到代码)。
    3. 使用accesstoken和refreshtoken交换刚刚收到的代码以进行离线上传。
    4. 存储我们刚从谷歌收到的凭据。
    5. 为了解耦整个过程,我创建了一个新类 ExtendedAuthorizationCodeInstalledApp ,它扩展了原来的 AuthorizationCodeInstalledApp ,并为类中的每个函数创建了每个方法。方法如下

      1. getAuthorizationFromStorage :从存储的凭据中获取访问令牌。
      2. getAuthorizationFromGoogle :使用Google凭据获取身份验证会创建将引导用户访问身份验证页面并在state参数中创建自定义名称 - 值对的网址。该值应使用base64编码器进行编码,以便我们可以在验证后收到从谷歌重定向的相同代码。
      3. saveAuthorizationFromGoogle :保存我们从Google获取的凭据。
        • 从中创建GoogleAuthorizationCodeFlow对象 credentialDatastorfrom从谷歌收到的回复 认证
        • 点击谷歌获取可用于获取的永久刷新令牌 任何时候用户的访问权限。
        • 将令牌中的accessstoken和refreshtoken存储为 用户ID
      4. 代码实现是here

        感谢@KENdi提出的建议......