2015-01-23 2 views
0

현재 로그인 한 사용자의 모든 동영상을 재생할 수있는 앱을 개발 중입니다. 재생 목록 동영상과 같은 모든 공개 동영상을 재생할 수 있으며 이후 동영상 등을 볼 수 있지만 비공개 액세스로 내 업로드 동영상을 재생할 수는 없습니다. Google 계정에 로그인하기 위해 WebView을 사용하고 있고 AccountManager 을 사용하고 있습니다. 왜냐하면 AccountManager를 사용하면 기본 Android 플로우가 실행되고 싶지 않기 때문입니다. 다음 코드를 사용하여 authURL을 가져 왔습니다.YouTube에서 비공개 동영상을 재생하는 방법은 무엇입니까?

String authUrl = new GoogleAuthorizationCodeRequestUrl(CLIENT_ID, REDIRECT_URI, Arrays.asList("https://gdata.youtube.com",YouTubeScopes.YOUTUBE,YouTubeScopes.YOUTUBE_READONLY, YOUTUBE_EMAIL_SCOPE, Scopes.PROFILE, YouTubeScopes.YOUTUBE)).build(); 

나는이 코드를 사용하여 accesstoken을 얻고 있습니다.

final GoogleAuthorizationCodeFlow flow = YoutubeGoogleAuthorizationCodeFlow.getInstance(getApplicationContext()); 
GoogleAuthorizationCodeTokenRequest tokenRequest = 
flow.newTokenRequest(authorizationCode).setRedirectUri(YouTubeModule.REDIRECT_URI); 
GoogleTokenResponse tokenResponse = tokenRequest.execute(); 
credential = flow.createAndStoreCredential(tokenResponse, ""); 
token = credential.getAccessToken(); 

그리고이 링크의 코드를 사용하여 공개 동영상을 재생할 수 있습니다. 나는이

String gdy = "http://gdata.youtube.com/feeds/api/videos/"; 
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); 
     youtubeVidId = extractYoutubeId(videoId); 
     URL url = new URL(gdy + youtubeVidId); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
     connection.setRequestProperty("Authorization", String.format("GoogleLogin auth=\"%s\"", authToken)); 
     connection.setRequestProperty("GData-Version", "2"); 
     connection.setRequestProperty("X-Youtube-Deviceauthtoken", devKey); 

같이 코드를 변경하고있는 경우 play streaming in VideoView, convert url to rtsp

I 동영상을 재생 할 수 있어야하지만, 어떻게 든의 authToken에 올바르지 않습니다.

개인 동영상을 재생할 때 다른 인증 토큰이 필요합니까? 감사합니다.

답변

1

스트리밍 URL을 검색하는 중 적절한 로그인 정보가 없습니다 (현재 로그인 한 사용자 계정에서 동영상 URL 가져 오기). 많은 투쟁 끝에 이것이 해결책이되었습니다.

1) 필요한 추가 범위 : "http://gdata.youtube.com"액세스 유형 : "오프라인"

2) * 다음과 같은 헤더를

이 필요했습니다. 콘텐츠 유형 : application/atom + xml

*. 승인 : 무기명 (문서 당 "GoogleLogin auth =")

*. GData- 버전 : 2

*. X-Youtube-Deviceauthtoken : devkey

관련 문제