0

2012 年 12 月 7 日まで正常に動作していたスクリプトで発生しているエラーを解決/デバッグするために、助けが必要です。

スプレッドシートに添付された Google アプリ スクリプト (複数の関数で構成される) があり、Google グループに特定の権限を設定できます。最近まで、このスクリプトは問題なく動作していました。スクリプトのコードは変更されていません。フェッチが発生した時点でエラー 503 が発生しています [ resp = UrlFetchApp.fetch(url, options);]

このフォーラムに投稿する目的で、エラーが発生する関数を変更し、スタンドアロンで実行してエラーを生成できるように変更しました。ConsumerKey、ConsumerSecret、およびその他の識別情報を置き換えました。ハードコードされた値 (ConsumerKey など) がまだ有効であることはかなり確信しています。

私たちが得ているエラーは次のとおりです。

返されたコード 503 の要求は失敗しました。サーバーの応答: { "エラー": { "エラー": [ { "ドメイン": "グローバル"、"理由": "バックエンド エラー"、"メッセージ": "バックエンド エラー" } ]," code": 503, "message": "バックエンド エラー" } } (85 行目)

関数は次のとおりです。

function updateGroup(){
  groupSettingsUrl = "https://www.googleapis.com/groups/v1/groups/";
  scope = "https://www.googleapis.com/auth/apps.groups.settings";

  oAuthConfig = UrlFetchApp.addOAuthService("Groups");
  oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
  oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
  oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
  oAuthConfig.setConsumerKey("?.apps.googleusercontent.com");
  oAuthConfig.setConsumerSecret("?");

  var options =
    {
      method : "put",
      oAuthServiceName : "Groups",
      oAuthUseToken : "always",
      payload : '{"defaultMessageDenyNotificationText":"","whoCanJoin":"INVITED_CAN_JOIN","kind":"groupsSettings#groups","id":"testadmins@TST.com","customReplyTo":"   ","allowWebPosting":"true","description":"Test Admins. Systems List","name":"Test Admins","membersCanPostAsTheGroup":"false","whoCanPostMessage":"ANYONE_CAN_POST","includeInGlobalAddressList":"true","whoCanViewMembership":"ALL_IN_DOMAIN_CAN_VIEW","allowExternalMembers":true,"allowGoogleCommunication":"false","isArchived":false,"showInGroupDirectory":true,"replyTo":"REPLY_TO_IGNORE","archiveOnly":"false","email":"testadmins@TST.com","whoCanInvite":"ALL_MANAGERS_CAN_INVITE","sendMessageDenyNotification":"false","spamModerationLevel":"MODERATE","whoCanViewGroup":"ALL_MEMBERS_CAN_VIEW","messageDisplayFont":"DEFAULT_FONT","maxMessageBytes":5242880,"messageModerationLevel":"MODERATE_NONE"}',
      contentType: 'application/json'
    };

  url = groupSettingsUrl+"testadmins@TST.com"; 

  var resp;
  resp = UrlFetchApp.fetch(url, options);

  return "Response " + resp.getResponseCode() + "\n body - " + resp.getContentText();
}
4

1 に答える 1

1

申し訳ありませんが、私がアルンに返答するのにとても時間がかかりました。メソッドがGETの場合、UrlFetchApp.fetchを正常に使用できます。

于 2013-01-04T20:18:13.813 に答える