Seite 1 von 1

Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 14:20
von pixewakb
Ich muss mir das Skript py2blogger.py (http://rlove.org/misc/py2blogger.py) von Robert Love für meine Bedürfnisse anpassen. Das Skript ist in der Handhabung für mich momentan noch einfacher als die direkte Arbeit mit der Google API.

Ich stolpere momentan über diese Zeile und komme nicht direkt weiter, weil ich mit einzelnen Punkten nichts anfangen kann:

Code: Alles auswählen

tm = time.localtime(os.fstat(f.fileno()).st_mtime)
Kann mir jemand sagen, was ich direkt eingeben könnte, wenn ich tm im Quelltext angeben möchte und nichts abfrage??? Ich habe die Datei-Lade-Sache schon komplett entfernt, das will ich direkt im Quelltext haben.

time.localtime() liefert bei mir:

Code: Alles auswählen

time.struct_time(tm_year=2012, tm_mon=4, tm_mday=21, tm_hour=15, tm_min=12, tm_sec=37, tm_wday=5, tm_yday=112, tm_isdst=1)
Ich muss später einmal direkt die Daten für Jahr usw. per Hand anpassen können. Weiß jemand zufällig, ob es bei Blogger eine Begrenzung bei der Jahreszahl auf den Bereich ab 1988 gibt???

Eine Rückantwort (und ggf. Erklärung) wäre sehr hilfreich.

Re: Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 14:44
von pixewakb
Ich habe es ans Laufen bekommen, ich werde gleich noch Änderungen am Skript posten. Ich hoffe, dass ich nichts übersehen werde. Da scheinen einige Punkte im Quellcode nicht mehr aktuell zu sein.

Re: Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 14:50
von pixewakb
Ich bin mir nicht sicher für welches Einsatzszenario Love das Skript entwickelt hatte, jedenfalls will ich erst einmal nicht, dass das Skript Daten einer Datei entnimmt. Ich habe dazu die main-Funktion so geändert, dass ich erst einmal manuell Daten eintragen kann:

Code: Alles auswählen

def main():
  client = BloggerPost()
  title = 'Test'
  tm = '2012-04-20T17:03:00.001-07:00'
  content = 'Test'
  client.CreatePost(title, content, tm)
  print 'Successfully posted entry'
Außerdem waren oben noch Änderungen nötig und zwar in der Funktion CreatePost:

Code: Alles auswählen

  def CreatePost(self, title, content, tm):
    entry = gdata.GDataEntry()
    entry.title = atom.Title('xhtml', title)
    entry.content = atom.Content(content_type='html', text=content)
    if (DRAFT == 1):
      entry.control = atom.Control()
      entry.control.draft = atom.Draft(text='yes')
    entry.published = atom.Published(tm)
    return self.service.Post(entry, '/feeds/' + self.blog_id + '/posts/default')
Da tm bereits fertig aus der main-Funktion übergeben wird, ändert sich die entsprechende Zeile komplett. Außerdem war eine Änderung in der Zeile für entry.content erforderlich, die nun so aussieht:

Code: Alles auswählen

entry.content = atom.Content(content_type='html', text=content)
Ich bin mir hier sicher, dass das ein Fehler im Originalquelltext ist, da die Zeile in der jetzigen Form der Google-Anleitung genau entspricht.

Beiträge können jetzt einfach gepostet werden. Es scheint eine Einstellung bei blogger.com zu geben, die Post früher als 1988 nicht erlaubt. Versucht man es trotzdem, so gibt es einen Server-Fehler :-( Ehrlich gesagt ist es aber genau das, weshalb ich mich die letzten Tage mit der Software und der Google API herumgeschlagen hatte.

Re: Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 14:56
von webspider
Ich vermute einfach mal (so offensichtlich es auch zu sein scheint), dass das Skript in der ursprünglichen Form es ermöglichte per Kommandozeilenaufruf aus mehreren Dateien dementsprechend viele Blogposts zu machen. Und das mit dem Zeitstempel jeder Datei (den du ja jetzt manuell gesetzt hast). Inhalt vom Code trennen, weißte.

Re: Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 15:32
von pixewakb
Jepp - das ist mir jetzt auch klar. Ich war bei der einen Zeile nicht weitergekommen.

Bei mir sollte das Skript einmal aus einer CSV-Datei Zeilen einlesen und dann an die drei Variablen Titel, Inhalt und Zeitstempel übergeben. Da ich aber nichts vor 1988 posten kann, sehe ich momentan nicht, dass ich blogger.com gebrauchen kann.

Re: Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 15:54
von BlackJack
@pixewakb: Kann es sein, dass Du vor 1988 noch nicht auf der Welt warst? Ich kann nämlich Posts vor 1988 anlegen, aber keines vor meinem Geburtsdatum. Macht ja auch irgendwo Sinn. :-)

Re: Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 16:15
von pixewakb
BlackJack hat geschrieben:@pixewakb: Kann es sein, dass Du vor 1988 noch nicht auf der Welt warst? Ich kann nämlich Posts vor 1988 anlegen, aber keines vor meinem Geburtsdatum. Macht ja auch irgendwo Sinn. :-)
Danke dir für deinen Beitrag! Ich hätte das sonst nicht mehr überprüft. Mit dem Geburtstag hat das - leider - nichts zu tun, dann wäre die Lösung des Problems über einen Fake-Geburtstag einfach. blogger.com riegelt bei 1970 ab, ein Post mit Datum von 1969 wird bereits nicht mehr akzeptiert.
RequestError: {'status': 500, 'body': 'Internal error: bX-snqgil', 'reason': 'Internal Server Error'}
Ich möchte Beiträge für den Bereich von etwa 1900 bis 1920 posten und im Rahmen eines Arbeitsberichtes dann wieder 2012 ff. Wordpress hat mit einem sehr frühen Post-Datum kein Problem, nur blogger.com stellt sich quer. Ich hatte schon mal versucht jemanden bei Google zu erreichen, aber eine Kontakt-E-Mail-Adresse scheint es dort einfach nicht zu geben :-( Da der Fehler aus meiner Sicht eine technische Einrichtigung auf den Google Servern ist, scheint nur die Verwendung einer anderen Blogsoftware eine probate Lösung zu sein. Sehr schade...

Re: Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 16:19
von cofi
pixewakb hat geschrieben:blogger.com riegelt bei 1970 ab, ein Post mit Datum von 1969 wird bereits nicht mehr akzeptiert.
Riecht nach Epoch: https://en.wikipedia.org/wiki/Unix_epoch

Re: Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 18:42
von pixewakb
Ich sehe mir gerade Wordpress an. Nur zum besseren Verständnis, Unix epoch klingt nicht nach einer Begrenzung in blogger, die Google leicht ändern könnte und nur in blogger enthalten ist. Eine Anfrage bei denen wird wohl kaum Aussicht auf Erfolg haben -

Re: Blogger (Google) und die Google API

Verfasst: Samstag 21. April 2012, 19:17
von cofi
Ja, das Gefuehl habe ich auch. Wenn man sich mal den Grund (Datum "faelschen") fuer die Aenderung ansieht, sehe ich auch keinen grossen Grund das zu aendern.
Die Schwierigkeit der Aenderung haengt allerdings komplett davon ab, _wie_ sie es benutzen.

Die Anfrage wuerde ich aber trotzdem stellen, so wird zumindest mal Interesse dokumentiert ;)