【发布时间】:2014-05-19 19:41:22
【问题描述】:
我正在构建一个 ASP.NET Web API。我正在使用 YouTube API 在 YouTube 上上传视频。我已经设法通过刷新令牌流来实现 OAuth。生成刷新令牌后,我将以下代码用于对 YouTube API 的所有后续调用。
var token = new TokenResponse { RefreshToken = REFRESH_TOKEN };
var credentials = new UserCredential(new GoogleAuthorizationCodeFlow(
new GoogleAuthorizationCodeFlow.Initializer
{
ClientSecrets = new ClientSecrets { ClientId = CLIENT_ID, ClientSecret = CLIENT_SECRET }
}), "user", token);
YouTubeService service = new YouTubeService((new BaseClientService.Initializer()
{
HttpClientInitializer = credentials
}));
我想知道此刷新令牌何时到期以及如何在没有任何用户输入/交互的情况下重新生成此刷新令牌,以便最终用户看不到 Google 帐户选择屏幕(在我的情况下我看到两个帐户,一个是 gmail,一个是 YouTube 频道。
另外,如果我生成了一个刷新令牌,那么如果我尝试再次使用 https://accounts.google.com/o/oauth2/auth 再次启动 OAuth 过程,我将不会获得刷新令牌作为响应。我一次只能有一个刷新令牌吗?
【问题讨论】:
标签: asp.net-web-api youtube youtube-api google-authentication