2013-06-25 2 views
1

검색 시간이 지나도 아직 해결책을 찾지 못했습니다. 구글 문서의이 부분에 따르면 Youtube API : Service accountYouTube API를 통해 특정 Google 계정에 동영상 업로드

: 내가 찾은 가장 관련성이 게시물은 내가 읽은 그건 here

은 YT API는 서비스 계정을 지원하지 않았다, 그래서 내가 발견했습니다 다른 해결책은 아직 없습니다.

내 서비스 사용자에게 Google 계정에 로그인하도록 요청하지 않고도 특정 Google (YT) 계정에 동영상을 업로드 할 수있는 방법이 있습니까?

$client = new Google_Client(); 
$key = file_get_contents("some/path/to/".KEY_FILE); 
$client->setClientId(CLIENT_ID); 
    $client->setAssertionCredentials(
      new Google_AssertionCredentials(
       SERVICE_ACCOUNT_NAME, 
       array('https://www.googleapis.com/auth/youtube'), 
       $key 
     ) 
    ); 
$client->setRedirectUri('some_url'); 
$client->setDeveloperKey('some_DEV_KEY'); 

요청 내 사용자에게 얻을 : 사실은 내가 YouTube 계정에 개인 모드에서 일부 동영상을 업로드하지만, 코드의이 부분이 있지만 클라이언트를 생성 할 때, 구글 수 있습니다 내 웹 사이트에있는 모든 사용자에게 원하는 것입니다 자신의 Google 계정으로 로그인했습니다 ...

코드에서 내 자격 증명을 입력하여이 로그인 요청을 무시할 수있는 방법은 없습니까?

불편을 끼쳐 드려 죄송합니다. 감사드립니다.

답변

0

다음은 솔루션입니다. ClientLogin 인증을 사용하십시오.

$httpClient = Zend_Gdata_ClientLogin::getHttpClient($youtubeEmail, $youtubePassword, 'youtube'); 

NB : 세 번째 매개 변수 내가 ClientLogin 지원되지 않습니다 알고 우리가

연결하려는 서비스의 "ID"그러나이 솔루션 우리는이 라인을 통해 YT 자격 증명을 지정할 수 작업. 어떤 솔루션보다 안전하고 깨끗한이 있다면, 내가

:이 좋은 하루

+0

내 게시물 아래로 투표하는 것이 좋지만 실제 설명은 더 나은 ... –

+0

나는 누군가가 당신에게 그의 이메일, 유튜브 및 많은 다른 서비스에 대한 액세스를 자신의 구글 암호를 줄 것이라고 생각하지 않습니다. – themihai

+0

요점은 내 "공개"Google 계정을 통해 사용자 동영상을 업로드하는 것이 었습니다. 그래서 난 단지 내 비밀 번호를 입력해야합니다 :) –

0

당신이 원하는 것을 쉽게 할 수 없다는 것은 의도적으로 설계된 것입니다. 다른 사람들이 앱을 통해 귀하의 계정에 업로드 한 것에 대해 책임을지는 것은 원하지 않습니다. 자신이 수행 한 작업을 수행하는 가장 좋은 방법은 Youtube Direct Lite과 같은 것을 사용하는 것입니다. 사용자는 자신의 자격 증명을 사용하여 자신의 계정에 비디오를 업로드하지만 자동으로 해당 비디오를 자신의 앱에서 실행되는 재생 목록에 연결합니다 (그리고 동영상을 포함할지 여부를 검토 할 수도 있습니다.)

같은 종류의 접근 방식을 사용하는 고유 한 솔루션을 롤백 할 수도 있습니다. 저를 믿으십시오 ... 누군가 당신의 개인 계정으로 다만 올려주기하게 할 수 있지 않는다 고 어느 점에서 당신은 고맙게 여길 것이다!

+0

미안하지만 그건 의문이 아닙니다 ... 나의 필요는 이것을하는 것이 었습니다. 그래서 나는 그것을 원했습니다. 홍수를 막기 위해 보안을 설정 했으므로 이전 업로드 후 10 분마다 동영상을 업로드 할 수 있습니다. 그러나 답변 해 주셔서 감사합니다. –

+0

@jlmcdonald 일부 사용자는 Google 계정이 없거나 100 개의 웹 사이트를 통해 로그인하여 작업을 완료하고 싶지 않습니다. YouTube API를 사용하여 동영상을 사전 승인 할 수 있습니다. – themihai

+0

하지만 사전 승인 동영상에 의존한다면 여전히 책임이 있으므로 저작권 침해 주장이있는 경우 모든 사람이 자신의 계정에 업로드하면 책임을집니다. 사용자가 무료 계정에 가입하고 싶지 않기 때문에 받아 들일 수있는 매우 위험한 것 같습니다. 개발자가 책임을지지 않으면 다른 호스팅을 사용하는 것이 좋습니다. 해결책? – jlmcdonald

2

에릭을 가지고 알려, 그것은 할 수 있습니다 당신은 브라우저 업로드 API (V2) https://developers.google.com/youtube/2.0/developers_guide_protocol_browser_based_uploading를 사용하는 경우. 그러나 CORS를 완전히 지원하지는 않습니다. 즉, 진행률 표시 줄을 표시 할 수 없으며 브라우저 재 지정을 처리하기 위해 iframe을 사용해야합니다. Youtube fixed V3의 CORS 문제는 브라우저 기반 업로드를 더 이상 지원하지 않으므로 더 빨라서 서버를 통해 동영상 업로드를 프록시 처리하거나 (내가하는 것처럼) Google 계정으로 사용자 로그인을 요청해야합니다. 나는 그들이 플러스 서비스를 홍보하기 위해 그것을 의도했다고 생각한다. 그들이 '고정'후 (약 1 년 걸렸습니다) @jeff는 데모를 사용하여 Google 플러스 로그인을 보였다! 좋은 농담 이었어 !

+0

고맙다. 나는 이것을 염두에 둘 것이다. 매우 도움이 :) –

관련 문제