2015-01-30 3 views
0

서비스 계정을 통해 Google 드라이브 Java API를 사용하여 'google.com'도메인 아래에있는 스프레드 시트에 액세스하려고합니다. 문서에 포함 된 여러 워크 시트를 내보낼 필요가 있습니다.서비스 계정을 사용하여 문서에 API 액세스하기

(Java API를 통해 사용되는) 서비스 계정을 만들고 사용할 수 있었지만 액세스하는 방법을 모르거나 내가하려는 일이 실용적이라 할지라도. 나는 다음 페이지를 보았습니다 : https://developers.google.com/drive/web/delegation하지만 내가 일하고있는 서비스 계정에 google.com 회사 도메인에 대한 액세스 권한이 부여 될 가능성은 거의 없습니다. Google의 계정 담당자는 포럼에서 몇 가지 조언을 확인할 것을 제안했습니다. 내가 액세스 요구 사항을 오해

  • 암 :

    이를 감안할 때, 나는 방법에 대한 몇 가지 질문이 있습니까? 구체적으로 서비스 계정에 특정 문서에 대한 액세스 권한을 부여하는 방법이 있습니까?
  • 이 작업 (워크 시트 내보내기)이 스프레드 시트 API에 더 잘 맞습니까? 이 API는 스프레드 시트 내에서 작동하는 것으로 보였으 며 드라이브 API는 파일/문서 관리를 처리하는 것으로 보입니다.
  • 다른 도메인으로 문서 사본을 보내야합니까?

제 생각에는 문서를 복사해야하지만, API를 이해하고 올바르게 액세스하고 있는지 확인하고 싶습니다.

감사합니다.

+0

이유를 당신이 Google 개발자 콘솔에 나타나는 EMAIL ADDRESS에 대한 액세스를 얻을 할 문서입니다 서비스 계정을 사용하고 있습니까? 내보내는 형식은 무엇입니까? "워크 시트에 포함 된 여러 워크 시트"를 말하면 스프레드 시트 API로 연결됩니다. 스프레드 시트 API는 문서 내에서 작동하는 API라고합니다. – pinoyyid

+0

서비스 계정을 사용하고 있습니다. 소프트웨어 서비스가 실행 중이므로 수동 조작없이 일정에 따라 스프레드 시트를 검색해야하기 때문입니다. –

+0

서비스 계정 대신 일반 계정을 사용하는 것이 좋습니다. 방법은 http://stackoverflow.com/questions/19766912/how-do-i-authorise-a-background-web-app-without-user-intervention-canonical?s=6|2.1978을 참조하십시오. "스프레드 시트 API가 더 좋습니다"와 관련해서는 모두 원하는대로 달려 있습니다. 전체 파일 (드라이브 API)을 다운로드해도 좋을까요, 아니면 파일 영역 (스프레드 시트 API)에 액세스 할 수 있습니까? – pinoyyid

답변

2

파일에 대한 액세스 권한이 있습니까? 메서드를 사용하려고하면 files.get https://developers.google.com/drive/v2/reference/files/get 당신이 액세스 할 수있는 200 응답을 받으면 다른 형식으로 파일을 내보낼 수있는 링크를 사용하여 매개 변수 exportlink 을 찾으십시오. 그렇지 않으면 할 수 없습니다.

  • 파일에 대한 액세스 권한이있는 사용자 만 액세스 할 수 있습니다. 도메인 관리자가 위임 한 서비스 계정의 경우 서비스 계정이 해당 도메인의 사용자를 가장 할 수 있습니다. 가장하고있는 사용자가 특정 파일에 액세스 할 수없는 경우 서비스 계정에 액세스 할 수 없습니다.

  • 파일을 내보내려면 드라이브 API를 사용하는 것이 좋습니다. 스프레드 시트 API는 스프레드 시트의 콘텐츠를 관리하는 것입니다.

  • 원본 파일을 수정하지 않고 정보를 수정하려면 예.

희망이 도움이됩니다.

+0

고마워요! 나는 파일에 접근 할 수 없다. ID로 검색 할 수 없으며 파일을 직접 가져 오려고하면 403 금지됨이됩니다. 관리자가 승인 한 위임이 필요한 경우 파일을 다른 도메인으로 이전해야합니다. –

+0

이 대답을 수락함으로써 내가 액세스 권한이 없음을 확인하고 서비스 계정 액세스가 어떻게 작동하는지 확인하는 데 도움이되었으므로 다른 도메인에있는 문서 복사본을 사용하여 경로 전달을 진행할 수 있습니다. –

6

액세스하려는 드라이브 파일의 서비스 계정도 이어야합니다. 그냥 Share (예 : [email protected]) 일부 설명은 그래서 당신이 ... 달성하기 위해 무엇을 찾고 있는지의 감각을 얻을 수

+0

감사! Upvoting은이 질문을 보는 다른 누구에게도 유용한 정보이기 때문에 해결책을 수락하고 좀 더 실험을하고 나면 알아 냈습니다. 아마도 어리석게도 서비스 회계사와 직접 공유 할 수 있다는 것을 깨닫지 못했습니다. 그것은 인생을 더 쉽게 만듭니다. –

관련 문제