Thanks Jose. That's pretty much what I'm doing but I get an error 400 back from the server (I think the text is "unknown method" or something similar.
I have moved on to using curl to get what I need. The third party had some docs on how to do that so I use shell() to issue the curl command with the output redirected to a file which I then read to get the output of the command. Seems to be working fine so far. Pete lcSQL Software <http://www.lcsql.com> Home of lcStackBrowser <http://www.lcsql.com/lcstackbrowser.html> and SQLiteAdmin <http://www.lcsql.com/sqliteadmin.html> On Mon, Nov 16, 2015 at 2:05 PM, José Antonio Rocha < joseantonioro...@gmail.com> wrote: > 2015-11-15 15:48 GMT-02:00 Peter Haworth <p...@lcsql.com>: > > > This looks like the server side of things and I'm > > looking for examples of using the revXMLRPC@ calls from a Livecode > desktop > > app. > > > > Here is my getPost WordPress function: > > --------------------------- > -- GET POST > --------------------------- > /* > -- Fields to return (optionals): > string post_id, string post_title, datetime post_date, datetime > post_date_gmt, > datetime post_modified, datetime post_modified_gmt, string post_status, > string post_type, string post_format, string post_name, string post_author, > string post_password, string post_excerpt, string post_content, string > post_parent > string post_mime_type, string link, string guid, int menu_order, string > comment_status, > string ping_status, boolean sticky, struct post_thumbnail [lack support, > yet], > array terms (string term_id, string name, string slug, string term_group, > string term_taxonomy_id, string taxonomy, string description, > string parent, int count ), array custom_fields (id, key, value), > array enclosure (url, length, type) > */ > function wp.getPost pPostID pFieldsA > global gDebug > global gServer, gPort, gXmlrpcPath, gProto, gBlogID > local tID, res, lPostContentA,tMembersNum, tMemberPath, tName > local tCustomPath, tCustomNum, tCustomStructPath, tTemp, tCustomName, > tCustomValue > local tTermsPath, tTermsNum, tTermMembersPath, tTermMembersNum, > tTermName > local tTermStructChildPath, tTermValue, tEnclosurePath, tEnclosureName > local tEnclosureChildPath, tEnclosureValue, tValuePath, tValue > > put revXMLRPC_CreateRequest(gServer, gPort, gXmlrpcPath, gProto) into > tID > revXMLRPC_SetMethod tID, "wp.getPost" > revXMLRPC_AddParam tID, "int", gBlogID -- this don't select the blog but > is neccessary > XMLRPC_AddUser tID > -- Set the post to retrieve > revXMLRPC_AddParam tID, "int", pPostID > -- Set optional fields to retrieve > revXMLRPC_AddParam tID, "array", pFieldsA > XMLRPC_SetAuthorization tID > -- Retrieve > put revXMLRPC_Execute(tID) into res > //put revXMLText(res) into gDebug ----------------debugging > revDeleteXMLTree tID > Err res > -- Build an array with posts data > -- This path refers to structure of returned XML > put revXMLnumberOfChildren(res, > "/methodResponse/params/param/value/struct/","member", 1) into tMembersNum > repeat with x = 1 to tMembersNum > put format("/methodResponse/params/param/value/struct/member[%s]/", > x) into tMemberPath > put revXMLNodeContents(res, (tMemberPath & "name")) into tName > if tName is "custom_fields" then > put > > format("/methodResponse/params/param/value/struct/member[%s]/value/array/data/",x) > into tCustomPath > put revxmlnumberofchildren(res, tCustomPath,"value", 1) into > tCustomNum > repeat with y = 1 to tCustomNum > put > > format("/methodResponse/params/param/value/struct/member[%s]/value/array/data/value[%s]/struct/", > x,y) into tCustomStructPath > -- Get the fields: "id", "key", "value" > repeat with z = 1 to 3 > put > > format("/methodResponse/params/param/value/struct/member[%s]/value/array/data/value[%s]/struct/member[%s]/", > x,y,z) into tTemp > put revXMLNodeContents(res, (tTemp & "name")) into > tCustomName > put revXMLNodeContents(res, (tTemp & "value/string")) into > tCustomValue > put textDecode(tCustomValue,"UTF-8") into > lPostContentA[tName][y][tCustomName] > end repeat > end repeat > next repeat > end if > if tName is "terms" then > put > > format("/methodResponse/params/param/value/struct/member[%s]/value/array/data/",x) > into tTermsPath > put revxmlnumberofchildren(res, tTermsPath,"value", 1) into > tTermsNum > repeat with y = 1 to tTermsNum > put > > format("/methodResponse/params/param/value/struct/member[%s]/value/array/data/value[%s]/struct/", > x,y) into tTermMembersPath > put revxmlnumberofchildren(res, tTermMembersPath,"value", 1) > into tTermMembersNum > repeat with z = 1 to tTermMembersNum > put > > format("/methodResponse/params/param/value/struct/member[%s]/value/array/data/value[%s]/struct/member[%s]/", > x,y,z) into tTemp > put revXMLNodeContents(res, (tTemp & "name")) into tTermName > put revXMLFirstChild(res,(tTemp & "value")) into > tTermStructChildPath > put revXMLNodeContents(res, tTermStructChildPath) into > tTermValue > put textDecode(tTermValue,"UTF-8") into > lPostContentA[tName][y][tTermName] > end repeat > end repeat > next repeat > end if > -- WP return just one enclosure. It apears in custom fields, too. > if tName is "enclosure" then > put > > format("/methodResponse/params/param/value/struct/member[%s]/value/struct/", > x) into tEnclosurePath > -- Get the fields: "url", "length", "type" > repeat with y = 1 to 3 > put > > format("/methodResponse/params/param/value/struct/member[%s]/value/struct/member[%s]/", > x,y) into tTemp > put revXMLNodeContents(res, (tTemp & "name")) into > tEnclosureName > if tEnclosureName is not empty and not(tEnclosureName begins > with "xmlerr,") then > put revXMLFirstChild(res,(tTemp & "value")) into > tEnclosureChildPath > put revXMLNodeContents(res, tEnclosureChildPath) into > tEnclosureValue > put textDecode(tEnclosureValue,"UTF-8") into > lPostContentA[tName][tEnclosureName] > end if > end repeat > next repeat > end if > -- (TODO: post_thumbnail support) > -- If is any other field type: > ---- revXMLFirstChild get any type (string, boolean, array, int, i4, > dateTime.iso8601, struct) > put revXMLFirstChild(res,(tMemberPath & "value")) into tValuePath > put revXMLNodeContents(res, tValuePath) into tValue > put textDecode(tValue,"UTF-8") into lPostContentA[tName] > end repeat > return lPostContentA > end wp.getPost > > > > > -- > [image: Meira] > ------------------------------ > nome: "José Antonio Meira da Rocha > <https://plus.google.com/+JoséAntonioMeiradaRocha/ > <https://plus.google.com/+Jos%C3%A9AntonioMeiradaRocha/>>" > email: joseantonioro...@gmail.com > veículo: [ http://meiradarocha.jor.br ] > fones: [ 55-8448-3866 55-3744-2994 ] 🐊 > ------------------------------ > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode