1

Google スプレッドシートで Google Apps Script を使用しようとしていますが、OAuth の問題があります。

Google Apps for Business を使用しているため、スプレッドシートと Google アプリ アプリケーションはどちらも Google が提供する Oauth によって保護されています。

以下は私が使用しているスクリプトです。oauth ダンスが表示されますが、URL の呼び出しに失敗し、302 応答で再実行されます。

次に何をすべきかわからない。認証コールバックハドラーとすべてを設定しようとしましたが、遠くまで行きませんでした。ScriptPropertiesキーとシークレットも設定されています(以下には表示されていません)。また、App Engine は OAuth がアプリ全体を対象としていることを示しているため、スコープは設定されていません。

Google App Engine がアプリがアクセスを要求していることを通知した後、この最後に 302 応答を受け取ります。また、appspot.com が外部プロバイダーであることも示しています。

var oAuthConfig = UrlFetchApp.addOAuthService("google");

oAuthConfig.setAccessTokenUrl("https://<blah>.appspot.com/_ah/OAuthGetAccessToken");

oAuthConfig.setRequestTokenUrl("https://<blah>.appspot.com/_ah/OAuthGetRequestToken");

oAuthConfig.setAuthorizationUrl("https://<blah>.appspot.com/_ah/OAuthAuthorizeToken?hd=<blah.com>");

oAuthConfig.setConsumerKey(consumer_key);

oAuthConfig.setConsumerSecret(consumer_secret);

var requestData = {
  "method": "GET",
  "oAuthServiceName": "google",
  "oAuthUseToken": "always"
};

var response = UrlFetchApp.fetch(url, requestData);
4

1 に答える 1

0

AppEngine API で consumerKey と consumerSecret を使用することはできません。AppEngine は、Google Apps for Business で使用される承認/構成の一部ではありません。それらなしで試して、すでに付与されている権限を取り消すか、名前を(「google」から)別のものに変更してください。

于 2012-05-12T00:58:22.210 に答える