2012-01-23 9 views
2

OAuth 2.0を使用してアカウントを正しく認証し、その認証トークンを使用してユーザーのYouTubeアカウントにアクセスする方法を知っている人はいますか?YouTubeとOAuth 2.0 in .net

http://code.google.com/apis/youtube/2.0/developers_guide_protocol_oauth2.htmlの終わりには、YouTube Data APIのサポートを

のGoogle Dataクライアントライブラリは、現在のOAuth 2.0をサポートしていないと言います。ただし、YouTube Data APIをサポートしていない新しいAPIクライアントライブラリのセットでは、OAuth 2.0のサポートが提供されています。 OAuth 2.0の機能のために、これらの新しいライブラリを使用して、取得したOAuth 2.0トークンをGoogle Data Clientライブラリに強制的に適用することもできます。

私は自分のアプリケーションが正常にOAuth 2.0のプロセスを実行していると私はユーチューブにアクセスすることができるはずアクセストークンを取得しています持っているが、私は「Googleのデータクライアントライブラリを強制する方法がわかりませんOAuth 2.0トークンを使用する "

どのようなコード例も優れています。

Liron

PSこれはデスクトップアプリケーション向けです。

答えて

3

これを行うには、Googleデータアプリ(https://code.google.com/apis/console)とyoutube apis(http://code.google.com)でアカウントを設定する必要があります/ apis/youtube /ダッシュボード)。

次に、oauthメカニズムを使用してGoogleのデータ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(); 
} 

次に、あなたが上から得たアクセストークンとユーチューブDeveloperキーの両方を使用することにより、ユーチューブAPIを認証する必要があります。 {code}

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; 

これは誰かを助けることを望みます。

関連する問題