GoogleApis를 사용하여 FilesResource 네임 스페이스 및 Upload 메소드의 InsertMediaUpload 클래스를 사용하여 Google 드라이브에 문서를 업로드하고 있습니다. 다음 예외를 제외하고는 잘 작동합니다.Windows .net InsertMediaUpload.Upload에 대한 호출에 Google.Apis가 응답하지 않습니다. 시간 제한이 없습니다.
InsertMediaUpload를 호출하면 사용자에게 Google (일반적으로 Gmail) 계정에 로그인 할 것을 요청하는 브라우저 창이 나타납니다. 사용자가 단순히 "Accept"또는 "Cancel"을 클릭하는 대신 브라우저 창을 닫으면 현재 프로세스가 중단 된 것처럼 보입니다. 사용자가 현재 Windows 응용 프로그램에 로그인하지 않기로 선택하면 응용 프로그램이 단순히 멈추거나 무기한으로 작동하지 않도록 시간 제한을 1 ~ 2 분으로 설정해야합니다.
여기에 샘플 코드가 필요하지 않습니다. 문서를 업로드하는 데 더 이상 관심이 없다면 사용자가 취소를 클릭하는 대신 브라우저 창을 닫을 때 어떤 일이 발생해야합니까? 현재 프로세스를 중단 (또는 매달아)하는 것은 가능하지 않지만 그럴 수 있습니다. 브라우저 창을 닫으면 취소 버튼을 클릭했을 때와 동일한 효과가 있습니다. Google 드라이브에 대한 업로드를 거부하는 다른 방법일까요?
미리 감사드립니다.
나는 지금 검사 할 코드가 없지만 사용자 이름과 비밀번호를 사용하여 Google 드라이브에 로그인하도록 사용자에게 요청하는 브라우저 창이 나타납니다. 사용자에게 "허용"또는 "취소"옵션이 제공되지만 세 번째 옵션은 단순히 브라우저 창을 닫는 것입니다. 이제 이것은 취소 버튼을 누르는 것과 같은 효과를 가져야하지만 대신 현재 프로세스를 정지시킵니다. 위의 메시지를 작성했을 때 InsertMediaUpload 클래스의 Upload 메서드가 호출되었지만 인증을 위해 업로드에 델리게이트가 전달되었을 때 이것이 발생했다고 생각했습니다. – user2216763
좋아요, 왜 그런지 설명해 드리겠습니다. 당신은 아마 구글 API 클라이언트의 로컬 웹 서버 인증 모듈을 사용하고 있습니다. 이 프로그램은 웹 서버를 설정하고 oauth2callback이 트리거 될 때까지 대기합니다. 그래서 사용자가 수락하거나 취소하지 않고 창을 닫으면 영원히 멈춘 것입니다. 다시 말하지만, 이것은 프로덕션 코드가 아니며 모든 것이 의도 한대로 작동합니다. 이를 방지하려면 스스로 인증을 처리해야합니다. –
내 애플리케이션이 Google 드라이브에 액세스하기위한 사용자 자격 증명에 대해 알지 못하므로 인증 브라우저 창이 필요하다고 생각합니다. – user2216763