2013-05-13 2 views
6

Google은 GAE (Python 2.7)에 앱을 가지고 있으며 이제 폴더와 문서의 (공유 된) 목록을 표시하기 위해 Google 드라이브에 액세스해야합니다.Google App Engine에서 Google Drive API를 사용하는 방법은 무엇인가요?

App Engine and Google Drive API을 비롯한 DrEdit에 대한 포인터를 검색하면 Drupdit은 GAE가 아니라 Google 드라이브 용 예제 응용 프로그램이므로 동일한 질문을하지만 동의하지 않는 대답을 허용합니다.

+0

"DrEdit은 Google App Engine에서 Python으로 작성된 웹 응용 프로그램입니다." 그게 뭐가 잘못 됐어? https://developers.google.com/drive/examples/python –

+0

이 질문에 대한 답변 : http://stackoverflow.com/questions/15454708/accessing-google-drive-from-a-google-app-engine-python-app "고마워. 그걸 시도 했어 .developed.google.com/drive/examples/python에서 DrEdit도 시도했다. (내 요구 사항과 아무런 관련이 없다는 것을 깨닫기까지 수 시간이 걸렸다)." DrEdit은 Google 드라이브 용 앱으로, Google 드라이브에 기능을 추가합니다. GAE에서 드라이브를 읽고 싶습니다. DrEdit을 다시 보게 될 것입니다. 어딘가에 필요한 정보가있을 것입니다 ... – cbootle

+1

DrEdit에는 필요한 모든 설정 정보가 포함되어 있습니다. 그러나 많은 샘플 앱처럼 꽤 복잡합니다. 누군가이 스레드를 발견하고 Drive-Api-app의 기본적인 배선 만하면 매우 유용 할 것입니다. – rGil

답변

4

구글 앱 엔진 및 Google 드라이브는 모두 Google 제품이지만 https://developers.google.com/drive/v2/reference/files/list는, 불행하게도 그들이 직접 연결되지 않은 :

드라이브 API에서 파일 목록 내가 GAE에서 사용할 수 있도록하고 싶습니다 것입니다. Google 드라이브 API는 설치해야하는 google-api-python-client 라이브러리에서 액세스 할 수 있습니다.

과정

Python Google Drive API Quickstart Guide에서 발견, 다음과 같이 요약 된 형태는 할 수있다 : 구글의 측면에서

  1. : 당신의 GAE 프로그램

    • Activate Drive API에 대한 드라이브 API에 액세스 할 수 있습니다. 자격 증명에 계속 버튼을 ... 이동을 클릭
    • 동의 화면 만들기 :이이 설정되지 않은 경우 설정 이상한 오류가 발생합니다 구글 같은 의 OAuth 동의 화면을 :
      • 클릭 의 OAuth 동의 화면
      • 이메일 주소을 선택하고 제품 이름을 입력합니다.
    • 취득 자격 증명을 다음 자격 증명에
      • 클릭 탭
      • 선택 자격 증명을 추가하고 의 OAuth 2.0 클라이언트 ID. 신청 유형을 선택하고 관련 세부 정보를 입력하십시오. 나중에 변경할 수 있습니다!
      • 자격증 명 탭으로 돌아가서 JSON 자격 증명을 다운로드합니다 (표의 오른쪽으로 끝나면 다운로드 버튼은 근처에 마우스를 올리면 나타납니다). 이름을 client_secret.json으로 변경하고 루트 코드 디렉토리에 저장하십시오. 사용자에게 자격 증명을 요청하려면이 항목이 필요합니다. 귀하의 측면에서
  2. : Download the google-api-python-client library는 코드 디렉토리에 압축을 풀고 python setup.py install를 실행합니다. 이렇게하면 많은 Google 제품의 API가 포함 된 라이브러리가 설치됩니다.

  3. 이제 Drive API를 사용할 준비가되었습니다. sample code을 사용하여 액세스를 테스트 할 수 있습니다. 자신의 코드를 작성하는 좋은 지침이기 때문에 읽어보십시오! 사용자 데이터에 액세스하는 경우 로그인 할 때 사용자 자격 증명을 요청해야하며 대부분 사용자 데이터를 저장해야합니다.그런 다음 API를 사용하는 가장 쉬운 방법은 service 개체를 얻을 수있을 것입니다 : 코드 위

    import httplib2 
    from apiclient import discovery 
    
    credentials = get_credentials() #Your function to request/access stored credentials 
    #Authorise access to Drive using the user's credentials 
    http = credentials.authorise(httplib2.Http()) 
    #The service object is the gateway to your API functions 
    service = discovery.build('drive', 'v2', http=http) 
    
    #Run your requests using the service object. e.g. list first 10 files: 
    results = service.files().list(maxResults=10).execute() 
    # ... etc ... Do something with results 
    

sample code에서 수정됩니다.

Google 드라이브 용 참조 API는 found here 일 수 있습니다.

GAE를 다른 Google 제품의 API와 연결하는 일반적인 절차가 필요합니다. 달력. 모든 프로그램 작성에 최선을 다하십시오!

관련 문제