Как устранить ошибку ETag при удалении ресурса из коллекции с помощью скрипта Google Apps

Согласно документам, электронный тег If-Match не является требуется удалить элемент из коллекции, но я получаю следующую ошибку:

"Request failed for returned code 403. Server response:
<errors xmlns='http://schemas.google.com/g/2005'>
  <error>
    <domain>GData</domain>
    <code>matchHeaderRequired</code>
    <location type='header'>If-Match|If-None-Match</location>
    <internalReason>If-Match or If-None-Match header or entry etag attribute required</internalReason>
  </error>
</errors>"

Что мне не хватает? И если бы я действительно хотел уничтожить ресурс, как и где бы я указал тег If-Match? На всякий случай я попытался вставить «If-Match:» * «» в свои варианты, но безуспешно.

Это связано с этой ошибкой клиентской библиотеки Python? Удалить ресурс из Документов Google с помощью Python

Мой код скрипта приложений выглядит следующим образом:

function deleteResourceFromCollection_(originCollectionId,resourceId) {
  var options = buildDeleteOptions_();

  var result = UrlFetchApp.fetch(DOC_API_URL+ACTIVE_USER+"/private/full/"+originCollectionId+"/contents/"+resourceId, options); 
}

//////////////////////////////////////////////
// Build URLFetchApp Delete Options
//////////////////////////////////////////////
function buildDeleteOptions_() {

  return {
    method : "delete",
    headers : {"GData-Version": "3.0"},
    oAuthServiceName: "google",
    oAuthUseToken: "always",
    };
}

person user1318390    schedule 11.04.2012    source источник
comment
Вы поместили If-Match: в заголовки?   -  person Ali Afshar    schedule 11.04.2012


Ответы (1)


Правильный синтаксис для параметров:

function buildDeleteOptions_() {

  return {
    method : "delete",
    headers : {"GData-Version": "3.0", "If-Match":"*"},
    oAuthServiceName: "google",
    oAuthUseToken: "always",
    };
}
person user1318390    schedule 11.04.2012