gpt4 book ai didi

c# - .Net 中的 YouTube 和 OAuth 2.0

转载 作者:行者123 更新时间:2023-11-30 22:31:57 24 4
gpt4 key购买 nike

有谁知道如何使用 OAuth 2.0 正确验证帐户然后使用该授权 token 访问用户的 YouTube 帐户?

http://code.google.com/apis/youtube/2.0/developers_guide_protocol_oauth2.html 的末尾它说

The Google Data client libraries that support the YouTube Data API do not currently support OAuth 2.0. However, a newer set of Google API client libraries, which do not support the YouTube Data API, do provide OAuth 2.0 support. As such, it is an option to use these newer libraries, which are listed below, for their OAuth 2.0 capabilities and then force the Google Data client library to use the OAuth 2.0 token(s) that you have obtained.

我的应用程序已成功通过 OAuth 2.0 流程运行,并且我正在获取一个访问 token ,应该能够访问 youtube,但我不知道如何“强制 Google 数据使用 OAuth 2.0 token 的客户端库”。

任何示例代码都会很棒。

锂铁

PS 这适用于桌面应用程序。

最佳答案

这样做你需要在谷歌数据应用程序(https://code.google.com/apis/console)和 youtube apis(http://code.google.com/api/youtube/仪表板)。

然后您必须使用他们的 oauth 机制验证 google data api。类似下面的内容——这是从我们拥有的一些代码中删除的。{代码}

//Create Client     
m_Client = new NativeApplicationClient(GoogleAuthenticationServer.Description, m_ClientID, m_ClientSecret);
//Add Youtube scope to requested scopes
m_Scopes.Add("https://gdata.youtube.com");
//Get Authentication URL
authStateInitial = new AuthorizationState(m_Scopes);
authStateInitial.Callback = new Uri(NativeApplicationClient.OutOfBandCallbackUrl);
Uri authUri = m_Client.RequestUserAuthorization(authStateInitial);

//Navigate to URL, authenticate get accessToken
string accessToken = ...;

string[] tokens = accessToken.Split(new char[] { '&' });
if(tokens.Length == 2)
{
authStateFinal = new AuthorizationState(m_Scopes);
authStateFinal.AccessToken = tokens[0];
authStateFinal.RefreshToken = tokens[1];

if(m_AuthStateInitial == null)
{
m_Client.RefreshToken(m_AuthStateFinal);
}
OAuth2Authenticator<NativeApplicationClient> authenticator = new OAuth2Authenticator<NativeApplicationClient>(m_Client, GetState); //GetState returns authStateInitial
authenticator.LoadAccessToken();
}

然后您必须使用从上面获得的访问 token 和 youtube 开发人员 key 来验证 youtube api。{代码}

    GAuthSubRequestFactory m_Authenticator = new GAuthSubRequestFactory(ServiceNames.YouTube, "Product Name");
m_Authenticator.Token = AccessToken;

YouTubeService m_YouTubeService = new YouTubeService(m_Authenticator.ApplicationName, m_DeveloperKey);
m_YouTubeService.RequestFactory = m_Authenticator;

希望这对某人有帮助。

关于c# - .Net 中的 YouTube 和 OAuth 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8971775/

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