YOUTUBE数据API-';TokenResponseException:401未经授权';尝试刷新访问令牌时

YOUTUBE数据API-';TokenResponseException:401未经授权';尝试刷新访问令牌时,youtube,oauth-2.0,youtube-api,access-token,google-oauth-java-client,Youtube,Oauth 2.0,Youtube Api,Access Token,Google Oauth Java Client,目前我正在开发一个多客户端youtube服务,它接收我的播放列表。我使用FileDataStoreFactory为每个客户端存储必要的凭据。 我的问题是,我只能在手动授权后的第一个小时内成功访问youtube api。当我的访问令牌到期时,我无法刷新连接了多个频道或其他youtube帐户的帐户的令牌。当我使用一个只有主youtube帐户(没有其他附加帐户)的客户机的存储凭证进行尝试时,一切都很好。 因此,它只适用于某些客户 每次尝试刷新令牌时,我都会得到一个“401 Unauthorized”,

目前我正在开发一个多客户端youtube服务,它接收我的播放列表。我使用FileDataStoreFactory为每个客户端存储必要的凭据。 我的问题是,我只能在手动授权后的第一个小时内成功访问youtube api。当我的访问令牌到期时,我无法刷新连接了多个频道或其他youtube帐户的帐户的令牌。当我使用一个只有主youtube帐户(没有其他附加帐户)的客户机的存储凭证进行尝试时,一切都很好。 因此,它只适用于某些客户

每次尝试刷新令牌时,我都会得到一个“401 Unauthorized”,没有关于引发异常的其他详细信息

“com.google.api.client.auth.oauth2.TokenResponseException:401未经授权”

我是这样授权的:

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地址链接的主通道。寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建一个最小、完整且可验证的示例。这就是问题所在。。这段代码对大多数客户机都适用。只有那些有多个附加帐户的才是相关的。我想这只是配置的问题。。可能这是一个已知的问题。是否使用此处所述的增量授权:寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现此问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建一个最小、完整且可验证的示例。这就是问题所在。。这段代码对大多数客户机都适用。只有那些有多个附加帐户的才是相关的。我想这只是配置的问题。。可能这是一个已知的问题。您是否使用如下所述的增量授权: