GAS と GAE の間で Oauth 接続を取得できました。
データストア アプリケーションからのデータを必要とする Google ガジェットを構築しました。最終的にアクセス トークンを取得するための 3 つのエンドポイントがあります。
http://[myapp].appspot.com/_ah/OAuthGetRequestToken
http://[myapp].appspot.com/_ah/OAuthAuthorizeToken
http://[myapp].appspot.com/_ah/OAuthGetAccessToken
GAS側には、アクセストークンを取得するための典型的な機能があります。
function oauthTokenFetch(){
var oAuthConfig = UrlFetchApp.addOAuthService("myAppName");
oAuthConfig.setAccessTokenUrl("https://<myApp>appspot.com/_ah/OAuthGetAccessToken");
oAuthConfig.setRequestTokenUrl("https://<myApp>.appspot.com/_ah/OAuthGetRequestToken");
oAuthConfig.setAuthorizationUrl("https://<myApp>.appspot.com/_ah/OAuthAuthorizeToken");
oAuthConfig.setConsumerKey("<myApp>.appspot.com");
oAuthConfig.setConsumerSecret("myConsumerSecret");
var requestData = {
"method": "GET",
"oAuthServiceName": "myAppName",
"oAuthUseToken": "always"
};
try {
var response2=UrlFetchApp.fetch("http://<myApp>.appspot.com/test/oauth",requestData);
Logger.log(response2.getResponseCode());
}catch(exception){
Logger.log(exception);
}
Google アカウントのアクセス トークンを取り消すと、別のアクセス トークンを取得できず、承認を許可するポップアップが表示されません。Google ガジェットをコピーして、再度承認を行う必要があります。
誰かが解決策を持っていますか?