Używam biblioteki Python gdata
do grupowania usunięć kontaktów, a otrzymuję komunikat "If-Match" lub If-None-Match nagłówek lub wpis atrybut etag wymagany "błąd.Uzyskiwanie "If-Match lub If-None-Match nagłówek lub wpis wymagany atrybut etag" błędy, gdy partia usuwa kontakty
Myślę, że problem zaczął się, gdy musiałem włączyć interfejs API kontaktów w konsoli (która jeszcze kilka dni temu nie była wymagana? *).
EDIT:
To rzeczywiście braku zarówno dla aktualizacji i operacji usuwania. Batched insert działa dobrze.
Próbowałem określając nagłówek If-Match
, ale to nadal nie:
custom_headers = atom.client.CustomHeaders(**{'If-Match': '*'})
request_feed = gdata.contacts.data.ContactsFeed()
request_feed.AddDelete(entry=contact, batch_id_string='delete')
response_feed = self.gd_client.ExecuteBatch(
request_feed,
'https://www.google.com/m8/feeds/contacts/default/full/batch',
custom_headers=custom_headers
)
stworzył także ticket na stronie projektu, ale wątpię, będzie się tam żadnej uwagi.
EDIT 2:
Stosując metodę Batch
z force=True
(który po prostu dodaje nagłówek If-Match: *
) jest taki sam wynik.
response_feed = self.gd_client.Batch(
request_feed,
uri='https://www.google.com/m8/feeds/contacts/default/full/batch',
force=True
)
* Czy ktoś może to zweryfikować? Nigdy wcześniej nie musiałem go włączać w konsoli, a moja aplikacja mogła bez problemu korzystać z interfejsu API Kontaktów i uważam, że wcześniej nie była dostępna. Byłem zaskoczony, widząc to wczoraj.
iam stoi również ten sam problem, aktualizacje na temat tego problemu –
nie znając szczegółów biblioteki GData, nie należy przekazać instancję custom_headers na życzenie jakoś? A może zainstalować na 'gd_client'? Wątpię, że doda nagłówki po prostu tworząc instancję CustomHeaders. – trendels
Ach tak, dobry połów. To był literówka. Edytowane. – john2x