{"id":2605,"date":"2015-04-01T14:08:54","date_gmt":"2015-04-01T14:08:54","guid":{"rendered":"http:\/\/wiki.davelevy.info\/?p=2605"},"modified":"2023-08-11T17:37:21","modified_gmt":"2023-08-11T17:37:21","slug":"exporting-ello-co","status":"publish","type":"post","link":"https:\/\/davelevy.info\/wiki\/exporting-ello-co\/","title":{"rendered":"Exporting ello.co"},"content":{"rendered":"<p>This it seems is no longer relevant. I have marked it deprecated. The ello URL syntax described i.e.\u00a0 http:\/\/ello.co\/username.json no longer works. They weren&#8217;t very helpful to the project when I first looked at it. This post morphed into a generic web login via scripts page. I will consider splitting it and making the ello stuff private (or even deleting it.)\u00a0<!--more--><\/p>\n<p>I was planning to incorporate my ello feed into a planet aggregator and when written in 2015\u00a0ello exported a feed as JSON, here&#8217;s its name structure http:\/\/ello.co\/username.json but you need to be logged in, god knows why; if not the file returns a version of the profile data.<\/p>\n<p>This post thus deals mainly with how to automate ello&#8217;s login, the problem of converting the JSON to XML is dealt with on a post of <a title=\"JSON to XML\" href=\"https:\/\/davelevy.info\/wiki\/json-to-xml\/\">the same name<\/a>. This post morphed into a generic web login via scripts.<\/p>\n<p>Here are some previous attempts to reverse engineer the api,<\/p>\n<ol>\n<li><a href=\"https:\/\/github.com\/grant\/ello\">https:\/\/github.com\/grant\/ello<\/a><\/li>\n<li><a href=\"https:\/\/web.archive.org\/web\/20220518001252\/https:\/\/www.programmableweb.com\/api\/unofficial-ello\">http:\/\/www.programmableweb.com\/api\/unofficial-ello<\/a><\/li>\n<li><a href=\"https:\/\/gist.github.com\/conatus\/cc665f917d5558c123bc\">https:\/\/gist.github.com\/conatus\/cc665f917d5558c123bc<\/a><\/li>\n<\/ol>\n<p>The third URL discusses using the unofficial API to perform this but documents the fact that the ello team oppose it and have recently introduced a xscripting defence which makes it much harder to use a previously issued cookie. The authentication hack is not well documented. <acronym title=\"3 Apr 2015\">At the moment<\/acronym> the authentication is session and cookie based which is why my experiments my experiments with wget and curl have failed. i.e. they both bring down the profile not the feed.<\/p>\n<p>I should bear in mind that they are promising RSS so I don&#8217;t want to invest too much time. (Perhaps I should invest in the other part of the problem, converting JSON to XML.)<\/p>\n<p>Do I miss second brain?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This it seems is no longer relevant. I have marked it deprecated. The ello URL syntax described i.e.\u00a0 http:\/\/ello.co\/username.json no longer works. They weren&#8217;t very helpful to the project when I first looked at it. This post morphed into a generic web login via scripts page. I will consider splitting it and making the ello&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2606,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_share_on_mastodon":"0"},"categories":[3],"tags":[1184,857,858,911,97],"class_list":["post-2605","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-deprecated","tag-ello","tag-json","tag-technology","tag-xml"],"share_on_mastodon":{"url":"","error":""},"jetpack_featured_media_url":"https:\/\/davelevy.info\/wiki\/wp-content\/uploads\/2015\/04\/Ello-logo-sq200.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts\/2605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/comments?post=2605"}],"version-history":[{"count":4,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts\/2605\/revisions"}],"predecessor-version":[{"id":8738,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts\/2605\/revisions\/8738"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/media\/2606"}],"wp:attachment":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/media?parent=2605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/categories?post=2605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/tags?post=2605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}