gpt4 book ai didi

asp.net-web-api - YouTube API刷新 token 流程

转载 作者:行者123 更新时间:2023-12-03 06:28:06 24 4
gpt4 key购买 nike

我正在构建一个ASP.NET Web API。我正在使用YouTube API在YouTube上上传视频。我设法用刷新 token 流实现了OAuth。生成刷新 token 后,我将对随后的所有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
}));

我想知道 此刷新 token 何时到期,以及如何在没有任何用户输入/交互的情况下重新生成此刷新 token ,以便最终用户看不到Google帐户选择屏幕(在我的情况下,我看到两个帐户,一个gmail帐户和一个YouTube channel 的)。

另外,如果我生成了一个刷新 token ,那么如果我尝试再次使用 https://accounts.google.com/o/oauth2/auth再次启动OAuth进程,也不会得到刷新 token 作为响应。一次只能有一个刷新 token 吗?

最佳答案

文档中还有一些示例,这里还有其他类似的问题。但是,可能不是您的编程语言所为。
refreshToken应该由您保存并重新使用。它是有效的,直到被用户自己撤消为止。获取refreshToken需要用户交互。
一旦获取了refreshToken,请在另一个请求中使用它来获取一个accessToken。 YouTube API请求中需要accessToken才能进行某些数据访问。 accesToken会在1小时(3600秒)后过期,尽管以后可以更改此时间段。

关于asp.net-web-api - YouTube API刷新 token 流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23745898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com