Google 드라이브 API를 사용하여 Google 드라이브에서 직접 다운로드
자바로 작성된 내 데스크톱 애플리케이션이 Google 드라이브에서 공개 파일을 다운로드하려고합니다. 제가 알아낸 바에 따르면, 파일의 '웹 콘텐츠 링크'를 사용하여 구현할 수 있습니다(사용자 승인 없이 공개 파일을 다운로드할 수 있는 기능).
따라서 아래 코드는 작은 파일에서 작동합니다:
String webContentLink = aFile.getWebContentLink();
InputStream in = new URL(webContentLink).openStream();
하지만 대용량 파일에서는 작동하지 않는데, 이 경우 구글 바이러스 검사 경고와 함께 사용자 확인 없이 '웹콘텐츠링크'를 통해 파일을 직접 다운로드할 수 없기 때문입니다. 예시를 참조하세요: 웹 콘텐츠 링크.
그래서 제 질문은 사용자 승인없이 Google 드라이브에서 공개 파일의 콘텐츠를 가져 오는 방법입니까?
35
11
31일 8월 2016년 비활성화해야 메소드는 대한.
그냥 실행했음 salesforce. 이 문제를 해결할 수 있습니다.
구글 드라이브 변경되었습니까 # 39 에 직접 연결할 수 있는 간편한 방법 및 there& 데이터베이스에구성원을 길이잖아요 내가 아니라 내 왼쪽 아래 참조입니다 이전 대답 # 39 의 here& 업데이트된 대답.
39 에서 해당 폴더를 전달하십시오 UUID you& 때, 주소, re in folder< < br> 표시줄에는 br>;;
enter 이미지 여기에 설명을!
네가 해야 할 일은 간단하다 내려받습니다 호스트입니다 URL 공개되지 드라이브 폴더에서는. 그러기 위해 일반 HTML 파일 업로드 할 수 있는 구글 드라이브 및 it 미리봅니다 uirl 호스트입니다 찾을 수 있습니다.
다음은 단계만으로
[편집]
I forgot 구성하기 위해 사용하는 경우 추가 서브폴더에 폴더 이름을 사용하여 파일의 경우, 단순 URL 에 작성되지는 때처럼 계층.
'https://googledrive.com/host/<' string> /images/my-image.png 그러하매 너희의 공용 폴더 id;
내가 만든 맞춤형 데비안 이미지와 함께 가상 확인란 유랑하는. 이 정보 공유, .box" " 싶었다. 그들은 자신들의 동료와 파일을 직접 https://partner. 바그랜트피레 있다고 한다.
결국 내가 직접 필요한 https://partner. microsoft. 실제 파일.
파일을 만들어 낼 수 있는 권한을 설정할 경우 일반 공개 / gdocs2direct 도구를 사용하여 같은 일을 직접 액세스 링크 링크 교도관님도요 가공할지 마련중이다.
'https://docs.google.com/uc? id =, = download& 익스포트합니다 < 그러하매 너희의 파일 id>.'
쿠키, 구글 검색 기반 코드 및 프롬프트합니다 " 모든검증 얻을 수 있습니다 이 file" 수 없습니다. , t 셨으며 일하고 있는 프롬프트합니다 won& # 39 와 같은 wget 또는 바그랜트피레.
It 는 간단한 코드를 생성할 수 있는 코드와 첨부됩니다 ',' 을 구체화하십시오 있지만 it& 확인입니다 .& 쿼리하지 변수 = # # 39, 사용자 지정 도왔으매 it& 프로세서당 # 39 의 미끼처럼이 아니라 다른 변수를 쿼리하지 있는 복사 / 붙여넣기 수 있습니다.
하지만 위의 " 사용하는 경우, 웹 페이지 hosting". 주위에 있는 방법을 프롬프트합니다 얻을 수 있습니다.
도움이 되기를 바란다!
[10]: https://support.google.com/drive/answer/2881970 = en hl?
이 파일을 검사할 수 없는 경우, 얼굴에 " viruses" 간주곡, 는 페이지, 다운로드하십시오 그리 쉽지는 않았다.
그러나 일반 다운로드 링크를 할 수 있는 첫 번째 너회가 본질적으로 다운로드하십시오 리디렉션합니다 anyway" 다운로드하십시오 이 "; 호출이네요 이 첫 번째 요청에 저장하는 데 필요한 쿠키 에서 찾을 수 있는 링크가 abc. 아웃해야 의해 anyway" 다운로드하십시오 "; 버튼을 누른 다음 이 링크를 사용하여 파일을 다운로드할 수 있지만, 쿠키 재사용합니다 잡을라는데 자금세탁방지법) 에서 있습니다.
39 을 사용하여 프로세스를 다운로드하십시오 here&, 배시 (curl) 의 변형.
유라유라테이코쿠:
나는 내 프로젝트 중 하나로 기록된 이 C # 코드가. 이 프로그램을 통해 바이러스 검사를 거치지 경고. 아마도 Java 코드를 변환할 수 있다.
나는 attaboy 어떻게 사용할 수 있습니다.
39 의 폴더를 만들고 오토메이티드 jmbertucci& 같이 최근 업데이트된 여론의 모두에게말이지. 이는 이전보다 조금 더 복잡한, 할 수 있는 공용 폴더 " web." 있는 고급 변경하십시오 -;;
찾기 및 주소 창에 폴더 UUID 등 검색하기를 방금 전에 폴더에 uuid 찾습니다.
그럼 머리에서
이를 통해 사용자를 리디렉션할 충족되었으며 인덱스화할 유형 페이지가 있지만, 거대 하위 도메인 폴더에 파일을 볼 수 있어야 합니다. 그런 다음 원하는 파일을 저장할 수 있는 링크를 마우스 오른쪽 단추로 클릭합니다. (내가 직접 링크 역시 이 점에 대해 '이 큰 하위 도메인 (googledrive.com)'). 협력했습니다 멋지구리해요 가져다줄래요 wget 을 (를) ''.
또한 others& 작동합니까 # 39 것으로 보인다. 공유 폴더.
예:
https://drive.google.com/folderview? id = usp = 공유함을 0B7l10Bj_LprhQnpSRkpGMGV2eE0&.
매핑됨
https://googledrive.com/host/0B7l10Bj_LprhQnpSRkpGMGV2eE0
그리고 오른쪽 클릭하면 해당 파일을 직접 링크되어 저장할 수 있습니다.
사례 1: 파일 다운로드 적은 size.*
사례 2: 큰 파일을 다운로드하십시오 size.*
해결책:
')]} & # 39. {" disposition" SCAN_CLEAN" :";;; " downloadUrl" :" http:www.";;; ";;;;;;; OK" fileName" :" exam_list_json.txt" " scanResult" :" " 2392} 'sizebytes";
그런 다음 읽을 수 있고, 파일_이름 스이제비츠 다운로더르 Json 파서를 사용할 수 있습니다.
개인 린퍼타슬림 중 ioexception 이 던지는 그코너스 (구체화하십시오 레모트피레) { Uirl uirl = 새로운 URL (레모트피레); 우를코네크션 연결 = 우를리오펜코네크션 (); if (연결 instanceof 스테퍼리코네크션) { 스테퍼리코네크션 하테프코네크션 = (스테퍼리코네크션) 연결. 코너스션.스탈로우세린트랙션 (false). 하테프코네크션.스틴스턴스폴로러디렉츠 (true). 하테프코네크션.스트리퀘스트프로페티 (" User-Agent" " Mozilla/4.0 (호환적;;;; 마시 6.0. Windows 2000년) "). 하테프코네크션.세도우스푸스 (true). 하테프코네크션.스트리퀘스트메서드 (GET" ";). 하테프코너스티언스코너스 ();
int = 하테프코네크션.제레스폰지코드 레크고데 ();
if (= HttpURLConnection.HTTP_OK 레크고데) { 이 = 하테프코네크션.게티노푸트스트림 린퍼타슬림 (); Map<, 문자열, List< String> >;; 매핑해야 = 하테프코네크션.게테드필드스 (); List< String>; 값 = 마피제 (content-type" ";). if (null 값을! = & &; 발 주자이왕티! () { 문자열 유형 = 발 주스제 (0);
if (메리 페이콘테인스 (text/html" ";)) { 구체화하십시오 쿠키 = 하테프코네크션.게테드필드 (Set-Cookie" ";). 구체화하십시오 temp = 콩스탕스드제바스 (마콘테스트, Constants.PATH_TEMP) + " /temp.html";; if (자베트믈필레 () 는, temp) { 구체화하십시오 href = 제릴로우 (임시); if (href! = null) { 페르세우를 반품하십시오 (href, cookie). } }
{} else if (메리 페이콘테인스 (application/json" ";)) 구체화하십시오 temp = 콩스탕스드제바스 (마콘테스트, Constants.PATH_TEMP) + " /temp.txt";; if (사브기슨필레 () 는, temp) { 필드라이스트 데이터 = 제슨레이더헬퍼드프리드필드라이스트 (새로운 파일 (임시)); if (다다드제바스 ()! = null) { 페르세우를 반품하십시오 (다다드제바스 ()); } } } } 돌아갈 수 있다. } } 반품하십시오 nulll. }
및
https://github.com/google/skicka
내가 이 명령줄이 도구를 사용하여 파일을 다운로드하십시오 구글에서 길이잖아요 그냥 지침에 따라 섹션이고 구글 드라이브 (분) 에서 파일을 다운로드 시작 합니다.
서비스 계정을 사용하는 것이 적합할 수 있습니다.
그냥 경우 프로그래밍 방식으로 (로포스트 것처럼 이번에는 사용자가 https://partner. microsoft. 브라우저에서 열려) API 를 사용하여 파일 다운로드를 통해 꼭 이래야겠어요 제안하세요 구글 드라이브 '로', '대신' 웹콘텐트링크 문서화했습니다 다운로더르 파일의 위치: https://developers.google.com/drive/web/manage-downloads
링크에서 다운로드하고, 확인 링크가 표시되는 페이지를 스크랩한 다음 해당 링크를 다운로드하는 것이 좋습니다.
'어쨌든 다운로드' URL을 보면 무작위로 생성된 토큰으로 보이는 추가 'confirm' 쿼리 매개 변수가 있습니다. 무작위로 생성된 토큰이므로 사이트 작동 방식에 대해 전혀 알지 못하더라도 스크래핑하는 것이 가장 쉬운 방법일 수 있습니다.
다양한 시나리오를 고려해야 할 수도 있습니다.
https://drive.google.com/uc?export=download&id=FILE_ID에서 FILE_ID를 파일 ID로 바꿉니다.
파일 ID가 무엇인지 모르는 경우 이 문서 문서 링크를 확인하세요.
내가 그냥 javascript 이 링크를 만들 수 있도록 자동으로 캡처하지 및 닫기의 다운로드하십시오 탭을 통해 [탬퍼먼키] [2].
Html 소스 url 과 자바 가상 머신 (jvm) 에 다운로드하십시오 partnernet 얻을 수 있습니다.
[2]: https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo = 크롬 앱을 실행 정보 대화 utm_source?