2013-05-06 4 views
0

저는 비주얼라이제이션에 액세스하는 사람들에게 스프레드 시트에 직접 권한을 부여하지 않고 Google Chart API를 사용하여 Google 스프레드 시트를 쿼리 할 수있는 프록시를 작성하려고합니다. 그렇게하기 위해Google App Script의 UrlFetch 서비스에서 Google Charts API를 호출하려면 어떻게해야합니까?

, 나는 (JSONP와) 내 애플리케이션 스크립트 프록시의 호출에 의해

var query = new google.visualization.Query('http://spreadsheets.google.com/tq?key=THE_KEY'); 
query.send(handleQueryResponse); 

처럼 전화를 교체합니다.

나는 다음과 같은 프록시를 썼다 : (나는 함수의 결과를 캡슐화 나중에 옵션을 추가 할 것입니다 - JSONP)

function doGet(e) { 
    return ContentService 
    .createTextOutput(
     UrlFetchApp 
     .fetch("http://spreadsheets.google.com/tq?tq="+e.parameter.q+"&key="+e.parameter.key)) 
     .setMimeType(ContentService.MimeType.JSON); 
} 

응답을 얻으려고, 나는이 오류를 얻을 : google.visualization.Query.setResponse({"version":"0.6","status":"error","errors":[{"reason":"user_not_authenticated","message":"User not signed in","detailed_message":"\u003ca target=\u0022_blank\u0022 href=\u0022https://spreadsheets.google.com/spreadsheet/\u0022\u003eSign in\u003c/a\u003e"}]});

사용자가 인증되지 않은 경우와 같습니다. 필자의 스크립트는 스프레드 시트에 권한이있는 내 사용자에 의해 실행될 웹 응용 프로그램으로 배포되기 때문에 이상하다고 생각합니다. 우리는 일부 OAuth을 사용해야한다고 생각하지만, 그런 식으로 쿼리를 인증하는 방법을 모르겠습니다.

내 질문 : Apps 스크립트로 쿼리를 인증하여 웹 앱으로 배포 할 때 정의한 액세스 권한이있는 데이터에 액세스하는 방법은 무엇입니까?

답변

0

urlfetch 문서를 참조하십시오. 당신은 모든 oauth 물건을 놓쳤습니다. 당신이하고있는 방식은 대중을 위해서만 작동합니다.

관련 문제