Windows Live Writer: XML RPC Server

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Windows Live Writer: XML RPC Server

    Hallo,

    da ich es meinen Benutzer ermöglichen möchte über div. Dienste (z.B. Windows Live Writer) Blogeinträge verfassen zu können, muss ich mich zwingend mit XML RPC für PHP auseinander setzen. Ich habs mir angesehen und bin da nicht durchgestiegen.

    Eventuell hat sich einer von euch damit schonmal beschäftigt und kann mir ein wenig helfen.


    Gruß
  • Hi,
    falls du über ein XML RPC ein Woltlab Plugin entwickeln möchtest, würde es mich freuen, wenn du dabei meine XML RPC Basisklasse benutzt: trac.easy-coding.de/trac/wcf/wiki/xmlrpc

    Vielmehr ist es nicht meine Klasse. Ich habe nur nur ein Plugin fürs WCF draus gemacht.
    Dokumentation findest du unter: phpxmlrpc.sourceforge.net/

    Oft fährst du aber besser (bzw einfacher), wenn du die API Klassen der jeweiligen Systeme nutzt. Google bietet dir für die ganzen Services meist eigene API Wrapper an (auch wenn sie im Hintergrund mit RPC arbeiten)
  • Hi,

    wenn Du soetwas zur Verfügung stellst, kann man es auch nutzen. ;)
    Das Problem was ich im Moment habe ist, dass ich keine Ahnung habe, wie ich das ganze aufbauen kann/muss/sollte.

    Ich hab mir dazu mal eine WCF-Page angelegt und habe mit Windows Live Writer darauf zugeriffen, jedoch scheitert es wohl schon an dem Login. Ich habe bisher nicht wirklich eine gute Doku gefunden, die das Nutzen für solch einen Blogdienst gut oder sehr gut beschreibt. Auch der Blick in die Server-Beispieldatei bzw. in die von WordPress bereitgestellte Datei hat mir leider nichts gebracht.


    Meine Form-Klasse sieht so aus:

    Quellcode

    1. class UserBlogNewRemoteForm extends AbstractForm {
    2. public function readParameters() {
    3. $s = new xmlrpc_server(
    4. array(
    5. "wp.getUsersBlogs" => array("function" => "foo")
    6. ));
    7. }
    8. public function foo($xmlrpcmsg) {
    9. return $xmlrpcmsg;
    10. }
    11. }
    Alles anzeigen


    Die Antwort jedoch ist:

    XML-Quellcode

    1. <?xml version="1.0"?>
    2. <methodResponse>
    3. <fault>
    4. <value>
    5. <struct><member><name>faultCode</name>
    6. <value><int>105</int></value>
    7. </member>
    8. <member>
    9. <name>faultString</name>
    10. <value><string>XML error: Invalid document end at line 1, column 1</string></value>
    11. </member>
    12. </struct>
    13. </value>
    14. </fault>
    15. </methodResponse>
    Alles anzeigen


    Der Windows Live Writer (zum testen) sagt mir auch: Unknown method

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Gnex ()

  • Naja.. Login? Wieviel hast du denn schon programmiert??

    Du willst also einen XMLRPC Server bauen.
    Die erste Frage die du dir stellen solltest, ist welche API du unterstützen willst. Ich denke die Movable Type API ist am feature-vollständigsten.
    So wie ich das verstanden habe unterstützt sie auch die newMediaObject API für den Upload von Bildern.
    Zumindest wird die metaWeblog API gerade in die Movable Type Dokumentation integriert.

    Du solltet auch nicht von Anfang an alle API Methoden unterstützen.

    Mein Tipp: Schau dir mal ein paar andere Plugins für die Movable Type API an. Zum Beispiel das von NucleusCMS, siehe docs.nucleuscms.org/item/202
    Wordpress ist kein guter Einstiegspunkt, denn hier ist XML RPC sehr tief ins System integriert.

    Definitiv: Ein großes Unterfangen!

    Der Live Writer unterstützt die Live Spaces sowie verschiedene APIs wie RSD (Really Simple Discoverability), Metaweblog API und die Movable Type API.
    [...]Viele Webblogs verfügen über eine newMediaObject API, die es ermöglicht, dass der Windows Live Writer 2008 die Bilder ohne FTP Zugang in den Blog laden kann.


    Außerdem:
    Der Datenaustausch wird vermutlich im HTML Format stattfinden? Du musst im WCF also eventuell HTML für die ganzen Blog-Benutzer aktivieren und dann müsstest du noch sicherheitshalber die Ausgabe von scripttags bereinigen.

    Quellen:
    live-writer.de/windows-live-writer-download/
  • Hi,

    danke für den Tipp/Hinweis. Naja, ich möchte ja, dass die Benutzer meiner Plattform per Windows Live Writer und anderen Tools Blogeinträge auf meiner Plattform veröffentlichen und verwalten können. Dafür ist doch ein Server notwendig, oder habe ich da etwas falsch verstanden?
  • Okay - Ich habs mir jetzt mal kurz angesehen und muss sagen: Kompliziert. Anscheinend muss ich mich ersteinmal in die Materie einlesen.

    Übrigens funktioniert kein JavaScript auf deiner Seite; z.B. wird der Editor nicht angezeigt, die Schnellantwort-Box klappt nicht aus, ...
  • weil ich etwas ähnlich gerade für ein anderes Projekt implementiere habe ich mal den Grundstein für eine Movable Type API erstellt.
    Du findest den Code unter trac.easy-coding.de/trac/wcf/browser/blogapi

    Ich werde den Code vermutlich in den nächsten Monaten nicht weiterentwickeln.
    Vielleicht hast du ja Lust. Bist du schon in der WCF Gruppe? trac.easy-coding.de/trac/wcf/wiki/Bewerbung

    Im LiveWriter musst du als URL die index.php?page=BlogAPI angeben.
    Im PHP Code musst du nichts ändern, außer die BlogServer.class.php. Hier sind noch viele Wordpress Funktionen drinne, du man durch WCF Funktionen ersetzen muss. Die Benutzerauthentifizierung sollte bereits funktionieren.