2013-04-03 69 views
0

每次我提出一個要求用於獲取到YouTube API的視頻我做這樣的事情:驗證碼所需的YouTube API C#

public Video GetVideo(string videoId) 
{ 
    YouTubeRequest request = new YouTubeRequest(settings); 

    Uri videoEntryUrl = new Uri("http://gdata.youtube.com/feeds/api/videos/" + videoId); 

    return request.Retrieve<Video>(videoEntryUrl); 
} 

有時我得到一個異常說「需要驗證碼」。我想知道是否構建YoutubeRequest需要每次調用GetVideo都需要身份驗證令牌,因此我得到此異常。可能嗎?我怎樣才能避免這種異常?我並不是在試着去處理它。

謝謝!

回答

1

是;有重用ClientLogin令牌的方法。請參閱this blog post中的場景4,並查看this document的「調用身份驗證令牌」部分。

更好的是,我建議您轉到OAuth 2而不是ClientLogin,如該博客文章中所述。

+0

現在我正在做這樣的事情(緩存令牌): request = new YouTubeRequest(settings); string token = Environment.Cache.Lookup (「YoutubeToken-」+ user); if(String.IsNullOrEmpty(token)) { \t token = request.Service.QueryClientLoginToken(); \t Environment.Cache.AddOrUpdateObject(「YoutubeToken-」+ user,token); } request.Service.SetAuthenticationToken(token); 你覺得這樣就夠了嗎?謝謝! – Coconut

+0

我的意思是,這似乎是正確的,但你大概已經能夠運行該代碼並驗證它重用了緩存的令牌,對吧? –

+0

是的,當然,甚至調試它,但我不是很確定。謝謝傑夫! – Coconut