2014-07-22 4 views
0

GAS 스크립트에서 Google 클라우드 SQL API에 연결하려고합니다.Google Oauth 2.0 코드 - 고정 Oauth 자격증 명 받기

내가 가지고있는 어려움은 오류 메시지를 제공하는 동일한 Oauth 코드를 사용하여 스크립트를 두 번째로 실행하는 경우에만 한 번만 작동하는 GAS 스크립트의 API 콘솔에서 Oauth 코드를 얻게됩니다. : "반환 코드 401"

샘플 스크립트 :

var url = "https://www.googleapis.com/sql/v1beta3/projects/XXXXXXX/instances/XXXXXXXX/operations/XXXXXXXXXXX"; 
    var headers = {"Accept":"application/json", 
       "Content-Type":"application/json", 
       "Authorization":"Bearer XXXXXXXXX" 
        }; 
    var options = {"method":"GET", 
       "headers": headers, 
       }; 
    var response = UrlFetchApp.fetch(url,options); 
    Logger.log(response); 

스크린 샷 내 고유 키 FR의 Oauth 얻을 곳에서 위치를 제공합니다. 올바른의 Oauth 키를 얻을 수

https://drive.google.com/a/ssomens.com/?tab=mo#folders/0B_f0d7mdbV_UYWh4cDBEdndSZE0

, 같은 나는 매일 새로운 토큰을 제공해야 할 필요, 내 스크립트/w 문제 O를 매일 실행되도록 고정 토큰이 필요 없다. 나는 많은 사이트들과 문서들을 체크했다.

Plz 어떤 도움을 환영합니다, 나는 지난 1 주간이 fr에 머물러 있습니다.

미리 알아 두십시오.

답변

0

Oauth2는 매번 머리글에 넣을 수있는 토큰보다 약간 복잡합니다. API 호출로 보낼 수있는 토큰을 얻기 위해 사용자를 Google 서비스로 보내는 다중 단계 흐름이 있습니다. 그러면 사용자 대신 해당 사용자에게 전화를 걸 수 있습니다. GAS로부터 이런 종류의 OAuth 호출을 만드는 것은 https://developers.google.com/apps-script/guides/services/external#making_requests_to_services_with_oauth에 문서화되어 있습니다.

또 다른 방법은 Cloud SQL 인스턴스에 대한 액세스 권한이있는 서비스 계정을 만들고 앱 내에 일부 자격 증명을 저장 한 다음 사용하는 '서비스 계정'입니다. oauth 흐름 자체를 구현해야하므로 GAS에서 이렇게하는 것이 어렵습니다. https://developers.google.com/accounts/docs/OAuth2#serviceaccount을 참조하십시오.