2010-02-19 4 views
1

YouTube API를 사용하여 브라우저에서 동영상을 업로드하려고합니다. 나는 구글의 API 문서를 읽고이 코드 조각을 썼다 :YouTube API 인증 문제

public static YouTubeRequest GetRequest() 
    { 
     var request = HttpContext.Current.Session["YTRequest"] as YouTubeRequest; 
     if (request == null) 
     { 
      var settings = new YouTubeRequestSettings("WebApp", "NA", ConfigurationManager.AppSettings["YouTubeAPIDeveloperKey"]); 

      settings.AutoPaging = true; 
      request = new YouTubeRequest(settings); 
      HttpContext.Current.Session["YTRequest"] = request; 
     } 
     return request; 
    } 

var youTubeRequest = GetRequest(); 
var newVideo = new Video { Title = "Title", Description = "Description" }; 
newVideo.YouTubeEntry.Private = false; 

var token = youTubeRequest.CreateFormUploadToken(newVideo); 
var postUrl = token.Url; 
var tokenValue = token.Token; 

을하지만 난 항상이 오류 메시지가 나타납니다 : (401) 권한이 없음 : 원격 서버에서 오류를 반환했습니다. 이 라인에

는 :

var token = youTubeRequest.CreateFormUploadToken(newVideo); 

나는 내 문제가 개발자 API 키와 관련이없는 것 같아요. API 대시 보드에서 올바르게 가져옵니다.

아이디어가 있으십니까?

+0

내 로컬 컴퓨터에서이 요청을 보내고 있습니다. 그것은 중요한가? –

+1

YoutubeRequest를 var settings = new YouTubeRequestSettings ("RazmpaWebApp", "NA", ConfigurationManager.AppSettings [ "YouTubeAPIDeveloperKey"], "--USERNAME--", "--PASSWORD--")로 변경했습니다. 이제이 오류가 나타납니다. 원격 서버에서 오류를 반환했습니다 : (400) 잘못된 요청입니다. –

답변

3

직접 문제를 발견했습니다.

newVideo.Keywords = "some keywords"; 

이 필요하므로 보내야합니다.

YouTubeRequest 매개 변수를 변경하여 401 오류 메시지를 없애기 전에 설명했습니다 (자체 설명 참조).