如何使用已生成的令牌上传 youtube 视频?
How to upload youtube video using already generated token?
我指的是youtube上传文件
https://developers.google.com/youtube/v3/code_samples/dotnet
link 为上传 youtube 视频提供的期望 youube 客户端 ID 和所有,但我已经使用以下方法创建了有效令牌。
public ActionResult Login()
{
string clientId = ConfigurationManager.AppSettings["v.YouTube.ClientId"];
string redirect = HttpUtility.UrlEncode(ConfigurationManager.AppSettings["x.YouTube.CallbackUrl"]);
string scope = ConfigurationManager.AppSettings["x.YouTube.Scopes"];
return Redirect($"https://accounts.google.com/o/oauth2/auth?client_id={clientId}&redirect_uri={redirect}&scope={scope}&response_type=code&access_type=offline");
}
现在我有一个有效的令牌,我如何在不使用
的情况下上传视频
using (var stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
{
credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
// This OAuth 2.0 access scope allows for full read/write access to the
// authenticated user's account.
new[] { YouTubeService.Scope.Youtube },
"user",
CancellationToken.None,
new FileDataStore(this.GetType().ToString())
);
}
上面提到的方法。?
有什么办法吗?
如果您已经有了访问令牌,那么您可以使用 GoogleCredential.FromAccessToken(...) 方法创建一个 GoogleCredential
实例。
请注意,以这种方式创建GoogleCredential
意味着它不能自动刷新访问令牌;所以它将在大约一小时后过期。
然后您可以使用此 GoogleCredential
实例通过@DalmTo
显示的代码上传到 YouTube
我指的是youtube上传文件
https://developers.google.com/youtube/v3/code_samples/dotnet
link 为上传 youtube 视频提供的期望 youube 客户端 ID 和所有,但我已经使用以下方法创建了有效令牌。
public ActionResult Login()
{
string clientId = ConfigurationManager.AppSettings["v.YouTube.ClientId"];
string redirect = HttpUtility.UrlEncode(ConfigurationManager.AppSettings["x.YouTube.CallbackUrl"]);
string scope = ConfigurationManager.AppSettings["x.YouTube.Scopes"];
return Redirect($"https://accounts.google.com/o/oauth2/auth?client_id={clientId}&redirect_uri={redirect}&scope={scope}&response_type=code&access_type=offline");
}
现在我有一个有效的令牌,我如何在不使用
的情况下上传视频using (var stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
{
credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
// This OAuth 2.0 access scope allows for full read/write access to the
// authenticated user's account.
new[] { YouTubeService.Scope.Youtube },
"user",
CancellationToken.None,
new FileDataStore(this.GetType().ToString())
);
}
上面提到的方法。?
有什么办法吗?
如果您已经有了访问令牌,那么您可以使用 GoogleCredential.FromAccessToken(...) 方法创建一个 GoogleCredential
实例。
请注意,以这种方式创建GoogleCredential
意味着它不能自动刷新访问令牌;所以它将在大约一小时后过期。
然后您可以使用此 GoogleCredential
实例通过@DalmTo