문제

우리는 Google YouTube API를 사용하여 브라우저를 통해 웹사이트에서 YouTube로 직접 동영상을 업로드하려고 합니다.

API는 두 단계로 작동합니다. 첫 번째 단계에서는 제목, 태그, 설명, 카테고리 등과 같은 모든 메타데이터가 포함된 비디오 개체를 만들어야 합니다.그런 다음 이 개체가 포함된 요청을 YouTube에 보내고 응답으로 생성된 토큰 개체를 가져와야 합니다.이 토큰 개체에는 토큰 값과 토큰 URL이 구성원으로 포함됩니다.

두 번째 단계에서는 토큰 URL로 설정된 작업 속성을 사용하여 양식을 생성해야 한다고 제안합니다.이 양식에는 파일 업로드 컨트롤과 토큰 값을 값으로 포함하는 숨겨진 필드가 있어야 합니다.이 양식이 게시되면 동영상이 YouTube에 업로드됩니다.

이는 사용자에게 먼저 메타데이터를 요청한 다음 실제 비디오 업로드를 위해 두 번째 페이지로 리디렉션하는 2단계 프로세스로 진행하는 경우 매우 효과적입니다.그러나 우리는 이 작업을 단일 페이지에서 수행하여 사용자에게 단일 단계로 보이도록 노력하고 있습니다.

'aspnetForm'이 지정된 MasterPage가 있으므로 다른 양식을 가질 수 없습니다. runat='server' 재산.

JavaScript/코드 숨김을 사용하여 aspnetFrom의 작업 속성을 수정하려고 시도했지만 무엇을 하든 동일하게 유지됩니다.

또한 YouTube에서 토큰이 포함된 첫 번째 응답을 받은 후 버튼 클릭 이벤트에 작업 태그가 설정되는 또 다른 중첩 양식을 넣으려고 했습니다.하지만 이 메서드가 호출되는 시점에는 양식이 생성되지 않기 때문에 이 방법도 작동하지 않습니다.

여러 가지 접근 방식을 시도했지만 아무 것도 작동하지 않는 것 같습니다.이에 대한 어떤 제안이라도 좋을 것입니다.

상황을 명확하게 이해하기 위해 더 궁금한 점이 있으시면..알려주세요..


업데이트:

답변 주셔서 감사합니다.

문제를 해결하기 위해 비즈니스 로직을 약간 변경했습니다.오래전 일이었고 현재로서는 해결책을 찾고 있지 않습니다..

그러나 질문은 여전히 ​​열려 있고 응답을 받고 있습니다.모든 도움에 진심으로 감사드립니다. 따라서 추가 논의를 위해 질문을 열어 두겠습니다.

도움이 되었습니까?

해결책

메타데이터용 텍스트 필드와 비디오용 파일 업로드 컨트롤을 사용하여 사용자에게 표시하는 양식을 만들겠습니다.

그런 다음 포스트백을 처리하는 코드에서 YouTube API에 메타데이터를 제출하여 토큰 값을 얻을 수 있습니다.

그런 다음 HttpWeb요청 토큰 값이 Create 의 방법 WebRequest 개체를 설정하고 Method 재산 Post.그런 다음 업로드된 비디오를 추가합니다(참조: "HTTPWebrequest(다중 부분/양식 데이터)를 사용하여 파일 업로드"에 대한 악마 박사의 답변 자세한 내용을 알아보려면) 그리고 전화를 하면 GetResponse() 귀하의 파일이 제출됩니다.

주의해야 할 사항:

  1. ScriptTimeout:사용자가 YouTube에 대용량 파일을 업로드하도록 허용하는 경우 파일을 전송하는 데 시간이 걸리면 스크립트가 조기에 종료될 수 있습니다.
  2. 대역폭:서버에 업로드한 다음 YouTube에 업로드하는 작업을 모두 수행해야 합니다. 사용자가 2단계 프로세스를 통해 YouTube에 직접 업로드할 수 있도록 허용하면 동영상을 건드리지 않으며 서버 근처에 접근하지도 않습니다. 귀하 또는 귀하의 호스팅 제공업체에 문제가 될 수 있습니다. 예를 들어 내 호스트는 월간 대역폭에서 FTP를 통한 트래픽을 계산하지 않지만 웹 사이트를 통해 업로드/다운로드한 파일은 포함합니다.

다른 팁

프로그래밍 방식으로 YouTube 양식에 게시할 수 있습니다.최근에 찾은 예제를 수정했습니다. http://www.codeproject.com/KB/cs/uploadfileex.aspx 야간 작업으로 제3자 웹사이트에 파일을 게시하는 일부 코드를 작성합니다.

파일을 YouTube에 직접 업로드하는 대신 서버에 업로드한 다음 YouTube에 업로드해야 하므로 성능 저하가 발생하지만 이는 선택 사항입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top