YOUTUBE DATA API - 尝试刷新访问令牌时{TokenResponseException:401 unauthorized'

时间:2015-07-01 07:29:07

标签: youtube oauth-2.0 youtube-api access-token google-oauth-java-client

目前我正在开发一个接收我的播放列表的多客户端YouTube服务。我使用FileDataStoreFactory为每个客户端存储必要的凭据。 我的问题是我只能在手动授权后的第一个小时成功访问youtube api。当我的访问令牌过期时,我无法为具有多个渠道或附加的其他YouTube帐户的帐户刷新我的令牌。当我使用仅具有其主要youtube帐户的客户端的存储凭证(没有其他任何附加)尝试它时,一切正常。 所以它只适用于某些客户..

每当我尝试刷新令牌时,我都会得到一个“401 Unauthorized”,而没有关于导致异常被抛出的其他细节。

“com.google.api.client.auth.oauth2.TokenResponseException:401 Unauthorized”

这是我授权的方式:

GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
          HTTP_TRANSPORT, JSON_FACTORY,
          client.getoAuthClientID(),
          client.getoAuthClientSecret(), scopes)
            .setDataStoreFactory(getDataStoreFactory(client))
            .build();

return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");

我最初将我的开发控制台项目设置为已安装的应用程序,因此我拥有正确的凭据..

最后我得到了像这样的youtube实例:

youTube = new YouTube.Builder(googleOAuthService.getHttpTransport(), googleOAuthService.getJsonFactory(), cred)
          .setHttpRequestInitializer(cred)
          .setApplicationName(applicationName)
          .build();

youtube帐户有3个频道..我设置一个作为与gmail地址链接的主要频道。 < - 这就是它无法运作的方式

我有另一个帐户,只有gmail地址的默认频道,不知何故,它适用于此类帐户而无需配置任何内容。

有人经历过同样的事情或知道我做错了吗?

提前致谢

0 个答案:

没有答案