meinem ersten Frage SO so hoffe ich, dass ich Zorn nicht die Gruppe ;-)gspread httperror: 400 mit insert_row OR add_row
Mit gspread 0.4.0 und Python 2.7, ich Seiten in meinem Google-Blatt zugreifen kann , kann Daten lesen und den Inhalt von Zellen mit update_cell() ändern. Allerdings versucht, eine Zeile einzufügen oder eine Zeile an das Ende des Blattes sind beide erfüllt mit dem folgenden Fehler anhängen:
File "c:\Python27\lib\site-packages\gspread\models.py", line 525, in append_row
self.add_rows(1)
File "c:\Python27\lib\site-packages\gspread\models.py", line 507, in add_rows
self.resize(rows=self.row_count + rows)
File "c:\Python27\lib\site-packages\gspread\models.py", line 500, in resize
self._element = self.client.put_feed(uri, ElementTree.tostring(feed))
File "c:\Python27\lib\site-packages\gspread\client.py", line 212, in put_feed
r = self.session.put(url, data, headers=headers)
File "c:\Python27\lib\site-packages\gspread\httpsession.py", line 85, in put
return self.request('PUT', url, data=data, **kwargs)
File "c:\Python27\lib\site-packages\gspread\httpsession.py", line 72, in request
response.status_code, response.content))
spread.exceptions.HTTPError: 400: The reference to entity "format" must end with the ';' delimiter.
ich einen Schlag auf den gspread Github Seite gefunden, die diesen Fehler verwiesen und dass Benutzer hatte offenbar Das Problem ist verschwunden, als er Berechtigungen aus seinem Blatt entfernt hat. Ich habe Berechtigungen von mir entfernt, aber der Fehler bleibt bestehen.
Ich bin nicht der versierte Benutzer von HTTP, um Daten zu aktualisieren, und ich denke, das ist, was gspread hier tut, also bin ich ratlos. Es gibt eine Menge """ Sachen hier, die meine Augen bluten lassen.
Dank dem Kollektiv für jede Beratung/Unterstützung!
Könnten Sie bitte ein Beispiel Ihres Codes mit' update_cell() 'call? – Burnash
Hallo Burnash, dieses Schiff ist schon lange gesegelt; Ich weiß nicht, warum ich bis heute Abend keine Nachricht von deiner Anfrage erhalten habe, sonst hätte ich sofort geantwortet! Jedoch habe ich es schließlich zu einem Problem in models.py verfolgt, wo ein unapprapped Ampersand in Zeile 501 übergeben wurde. Ich änderte die lokale Datei, um so zu lesen, und es funktioniert. Hacky aber funktioniert: 'self._element = selbst.client.put_feed (uri, ElementTree.tostring (feed) .replace (" & format "," & format "))' – steve
Nizza. Ich frage mich, was dieses unescaped Ampersand dort überhaupt macht, da die Inhalte von 'feed' direkt aus der API von Google stammen. Wie auch immer, es ist gut, dass Sie eine Lösung gefunden haben. Wissen Sie, dass Sie Ihre eigenen Fragen zu StackOverflow beantworten können? – Burnash