Получение ошибки 503 с UrlFetchApp.fetch

Мне нужна помощь в устранении / отладке ошибки, которую мы сейчас получаем для сценария, который работал нормально до 2012-12-07.

У нас есть скрипт Google App (состоящий из нескольких функций), который прикреплен к электронной таблице и позволяет нам устанавливать определенные разрешения для наших групп Google. До недавнего времени этот скрипт работал без проблем. В сценарии не было внесено никаких изменений кода. Теперь мы получаем ошибку 503 в точке, где происходит выборка [resp = UrlFetchApp.fetch(url, options);]

Чтобы опубликовать его на этом форуме, я изменил функцию, в которой происходит ошибка, и изменил ее так, чтобы она могла работать автономно, а также генерировать ошибку. Я заменил ConsumerKey, ConsumerSecret и другую идентификационную информацию. Мы достаточно уверены, что жестко закодированные значения (например, ConsumerKey) все еще действительны.

Ошибка, которую мы получаем:

Запрос не выполнен для возвращенного кода 503. Ответ сервера: { "error": { "errors": [ { "domain": "global", "reason": "backendError", "message": "Backend Error" } ], " код ": 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();
}

1 ответ

Извините, что я так долго отвечал Аруну. Мы можем успешно использовать UrlFetchApp.fetch с методом GET.

Другие вопросы по тегам