2012-07-11 3 views
1

사용자가 기기에 저장하거나 카메라로 녹화 한 동영상을 업로드하고 자신이 인 특정 계정에 업로드 할 수있는 앱을 만들고 싶습니다. 문제는 내가 그물을 통해 ytdirect 튜토리얼로 노력하고있다. 그러나 getting started tutorial은 해석하기가 간단하지 않고, 아마도 (아마도) 생각하기에 API를 사용하는 것이 더 간단해야한다.특정 YouTube 계정에 동영상 올리기 - Android

나는이 answer에서이 단계를 수행했는데, 이는 동일한 YouTube Direct를 사용하여 찾고자하는 것을 달성하는 데 더 좋거나 최소한 간단한 방법 인 것으로 보이지만 GlsAuthorizer.java를 ClientLoginAuthorizer.java로 대체합니다. 그 대답은 내게 프로젝트 (특히 GlasAuthorizer.GlsAuthorizerFactory())로 onCreate의 SubmitActivity.java에서 오류를 던지고있다.

개발자 키와 앱 ID 및 이에 연결된 URL (xyz.appspot.com)이 있습니다. 나는 project (2)에서 strings.xml에있는 default_ytd_domain_name이 무엇인지 알지 못합니다.

튜토리얼이나 샘플 코드를 사용하여 YouTube에 동영상을 업로드하는 다른 방법이 있거나 위의 두 번째 링크를 사용하여 업로드를 수행하기 위해 수행해야 할 자세한 단계가 있습니다. 나는 그 대답의 단계에서 두 점 (2 점) 만 놓치고있다.

답변

0

만료 된 경우 새로운 액세스 토큰을 얻으려는 이와 같은 작업을 수행합니다. 그런 다음 클라이언트로 다시 전달하고이 토큰을 사용하여 업로드를 수행합니다.

getYoutubeToken: function() { 

     var now = moment(); 
     var result; 
     if (now.diff(Meteor.settings.youtube.expiration, 'minutes') >= 50) { 
      console.log('Getting new access token...') 

      var options = { 
       headers: { 
        "Content-Type": "application/x-www-form-urlencoded" 
       }, 
       content: "client_secret=" + Meteor.settings.youtube.client_secret + "&grant_type=refresh_token&refresh_token=" + Meteor.settings.youtube.refresh_token + "&client_id=" + Meteor.settings.youtube.client_id 
      } 

      try { 
       result = HTTP.call("POST", 'https://www.googleapis.com/oauth2/v3/token', options); 
       Meteor.settings.youtube.access_token = result.data.access_token; 
       Meteor.settings.youtube.expiration = moment(); 

       return Meteor.settings.youtube.access_token; 
      } catch (e) { 
       // Got a network error, time-out or HTTP error in the 400 or 500 range. 
       return false; 
      } 


     } else { 
      console.log('Returning access token...') 
      return Meteor.settings.youtube.access_token; 
     } 

    }