{
 "blyg": "0.4",
 "id": "2t4q81jad5nj6cpqvzs41cc472",
 "kind": "thread",
 "origin": "https://notionparallax.co.uk/",
 "page": "https://notionparallax.co.uk/2014/openasset-rest-api-confusion",
 "author": {
  "name": "Ben Doherty",
  "url": "https://notionparallax.co.uk/"
 },
 "created": "2014-07-03T19:04:08Z",
 "updated": "2014-07-03T19:04:08Z",
 "version": 1,
 "content_md": "# OpenAsset REST API confusion\n\n\nThe <a href=\"http://axomic.com/\">Axomic</a> <a href=\"https://www.axomic.com/media\">OpenAsset</a> <a title=\"The REST docs\" href=\"http://help.axomic.com/07_Technical_Stuff/APIs_and_Integration/REST_API\">REST API</a> is doing its best to totally confuse me. I tend to find that if I write and do, then things become clearer.\n\n<a href=\"http://stackoverflow.com/questions/22676924/how-to-construct-image-url-from-axomic-openasset-rest-api\" title=\"How to construct image url from Axomic OpenAsset REST API\">Stack overflow</a> only has one question about this particular API, and I asked it... and answered it[1. after getting a very helpful reply to an email that I sent to Axomic help]. The idea of this post is to document the steps I've gone through to try to solve the problem so that it is easier for someone who knows what they are doing to fill in the gaps in my knowledge!\n\n<h3>My goal</h3>\n<blockquote>\nI want to be able to go to a specific project, and then ask that project to give me its <a href=\"http://help.axomic.com/05_Manage/02_Projects#Hero_Image\" title=\"the axomic docs\">hero image</a>\n</blockquote>\n\nThat's the short term goal, I'm sure I'll want to do more in the future, but here's my attempts to solve _that_ problem.<br />\n\nThis is a simple ruby file that will send GET requests to an OA server[1. You don't need to be told to put _your_ details in to the top bit do you?].\n\n<script src=\"https://gist.github.com/notionparallax/48c6c68577b17c95c0e5.js\"></script>\n\nThis is asking for file number 2 from the general array of files. They don't seem to be in any sort of order that could be used to one's advantage.\n\n```json\n{\n    \"copyright_holder_id\": \"0\",\n    \"photographer_id\": \"2\",\n    \"original_filename\": \"S051205_Bluestone_004_Browell.tif\",\n    \"download_count\": \"0\",\n    \"contains_video\": \"0\",\n    \"md5_now\": \"\",\n    \"category_id\": \"1\",\n    \"caption\": \"Bligh Voller 4\",\n    \"md5_at_upload\": \"f37958f1c80b67ae64f527b67b528bf9\",\n    \"id\": \"2\",\n    \"project_id\": \"360\",\n    \"click_count\": \"1\",\n    \"rotation_since_upload\": \"0\",\n    \"alternate_store_id\": \"0\",\n    \"duration\": \"0\",\n    \"description\": \"Bligh Voller 4\",\n    \"created\": \"20070220133816\",\n    \"uploaded\": \"20101202061904\",\n    \"filename\": \"S051205_N1.tif\",\n    \"contains_audio\": \"0\",\n    \"access_level\": \"2\",\n    \"user_id\": \"12\",\n    \"rank\": \"5\"\n}\n```\n\nMaybe this is something to come back to.\n\nThe most obvious way to get to files related to a project is through the projects:\n`request = \"/REST/1/Projects/2\"`\n\nwhich gives:\n\n````json\n{\n \"name\": \"Monash University Frankston Campus\",\n \"name_alias_1\": \"\",\n \"code_alias_1\": \"\",\n \"name_alias_2\": \"\",\n \"id\": \"2\",\n \"alive\": \"1\",\n \"code_alias_2\": \"\",\n \"code\": \"M020707\"\n}```\n\nbut from projects there's nowhere to go!\n##### Nested Resources\n* Albums\n  * Files\n  * Groups\n  * Users\n* Files\n  * Fields\n  * Keywords\n  * Sizes\n* Projects\n  * ProjectKeywords\n  * Fields\n* Fields\n  * FieldLookupStrings\n* Searches\n  * Groups\n  * Results\n  * Users\n\n`Projects` doesn't have any sub-properties that would be useful. For some reason (maybe it's the OA way) our `Projects` have the same content as our `Albums` as far as I can see. so if I ask for:\n```request  = \"/REST/1/Albums/384/\"```\n\nI get:\n```json\n{\n  \"private_image_count\": \"104,0,0,0\",\n  \"public_image_count\": \"17,0,0,0\",\n  \"company_album\": \"0\",\n  \"updated\": \"20121004164442\",\n  \"id\": \"384\",\n  \"code\": \"faad6f4a48ad0dd5345c045e459f7d2a\",\n  \"share_with_all_users\": \"1\",\n  \"can_modify\": 0,\n  \"locked\": \"0\",\n  \"all_users_can_modify\": \"0\",\n  \"name\": \"Robina Hospital Expansion\",\n  \"description\": \"B0712003\",\n  \"created\": \"20121004162913\",\n  \"my_album\": 0,\n  \"shared_album\": 1,\n  \"user_id\": \"30\",\n  \"unapproved_image_count\": \"0,0,0,0\"\n}\n````\n\nwhich is promising. The Nested Resources list above says that `Albums` have `Files`. But for `request = \"/REST/1/Albums/384/Files\"` I get\n\n````json\n{\n  \"error_message\": \"Not a valid URL.\",\n  \"http_status_code\": \"400\"\n}```\n\nwhich is a bit confusing(!) and for `request = \"/REST/1/Albums/384/files\"` (f not F):\n```json\n{\n  \"error_message\": \"Cannot create requested REST module /REST/1/Albums/384/files\",\n  \"http_status_code\": \"404\"\n}```\n\nSo that seems like a bit of a dead end.\n\nFor the sake of completeness:\n\n```ruby\nresourses = [\"AccessLevel\", \"Albums\", \"AlternateStores\", \"AspectRatios\", \"Categories\", \"CopyrightHolders\", \"CopyrightPolicies\", \"Fields\", \"Files\", \"Groups\", \"Keywords\", \"KeywordCategories\", \"Photographers\", \"Projects\", \"ProjectKeywords\", \"ProjectKeywordCategories\", \"Searches\", \"Sizes\", \"TextRewrites\", \"Users\"]\n\nresourses.each{|r|\n    ask_oa(request+r, baseURL, params, username, password)\n}\n````\n\ngives the <a href=\"http://notionparallax.co.uk/wordpress/wp-content/uploads/2014/07/OA_REST.txt\">outcome here</a>.\n\n[^1]: after getting a very helpful reply to an email that I sent to Axomic help\n[^2]: You don't need to be told to put _your_ details in to the top bit do you?\n",
 "content_html": "<h1>OpenAsset REST API confusion</h1>\n<p>The <a href=\"http://axomic.com/\">Axomic</a> <a href=\"https://www.axomic.com/media\">OpenAsset</a> <a title=\"The REST docs\" href=\"http://help.axomic.com/07_Technical_Stuff/APIs_and_Integration/REST_API\">REST API</a> is doing its best to totally confuse me. I tend to find that if I write and do, then things become clearer.</p>\n\n<p><a href=\"http://stackoverflow.com/questions/22676924/how-to-construct-image-url-from-axomic-openasset-rest-api\" title=\"How to construct image url from Axomic OpenAsset REST API\">Stack overflow</a> only has one question about this particular API, and I asked it… and answered it[1. after getting a very helpful reply to an email that I sent to Axomic help]. The idea of this post is to document the steps I’ve gone through to try to solve the problem so that it is easier for someone who knows what they are doing to fill in the gaps in my knowledge!</p>\n\n<h3>My goal</h3>\n<blockquote>\n  <p>I want to be able to go to a specific project, and then ask that project to give me its <a href=\"http://help.axomic.com/05_Manage/02_Projects#Hero_Image\" title=\"the axomic docs\">hero image</a></p>\n</blockquote>\n\n<p>That’s the short term goal, I’m sure I’ll want to do more in the future, but here’s my attempts to solve <em>that</em> problem.<br /></p>\n\n<p>This is a simple ruby file that will send GET requests to an OA server[1. You don’t need to be told to put <em>your</em> details in to the top bit do you?].</p>\n\n<script src=\"https://gist.github.com/notionparallax/48c6c68577b17c95c0e5.js\"></script>\n\n<p>This is asking for file number 2 from the general array of files. They don’t seem to be in any sort of order that could be used to one’s advantage.</p>\n\n<div class=\"language-json highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"p\">{</span><span class=\"w\">\n    </span><span class=\"nl\">\"copyright_holder_id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"photographer_id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"2\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"original_filename\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"S051205_Bluestone_004_Browell.tif\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"download_count\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"contains_video\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"md5_now\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"category_id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"1\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"caption\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"Bligh Voller 4\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"md5_at_upload\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"f37958f1c80b67ae64f527b67b528bf9\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"2\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"project_id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"360\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"click_count\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"1\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"rotation_since_upload\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"alternate_store_id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"duration\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"description\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"Bligh Voller 4\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"created\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"20070220133816\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"uploaded\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"20101202061904\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"filename\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"S051205_N1.tif\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"contains_audio\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"access_level\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"2\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"user_id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"12\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nl\">\"rank\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"5\"</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>Maybe this is something to come back to.</p>\n\n<p>The most obvious way to get to files related to a project is through the projects:\n<code class=\"language-plaintext highlighter-rouge\">request = \"/REST/1/Projects/2\"</code></p>\n\n<p>which gives:</p>\n\n<div class=\"language-json highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"p\">{</span><span class=\"w\">\n </span><span class=\"nl\">\"name\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"Monash University Frankston Campus\"</span><span class=\"p\">,</span><span class=\"w\">\n </span><span class=\"nl\">\"name_alias_1\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"\"</span><span class=\"p\">,</span><span class=\"w\">\n </span><span class=\"nl\">\"code_alias_1\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"\"</span><span class=\"p\">,</span><span class=\"w\">\n </span><span class=\"nl\">\"name_alias_2\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"\"</span><span class=\"p\">,</span><span class=\"w\">\n </span><span class=\"nl\">\"id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"2\"</span><span class=\"p\">,</span><span class=\"w\">\n </span><span class=\"nl\">\"alive\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"1\"</span><span class=\"p\">,</span><span class=\"w\">\n </span><span class=\"nl\">\"code_alias_2\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"\"</span><span class=\"p\">,</span><span class=\"w\">\n </span><span class=\"nl\">\"code\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"M020707\"</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"err\">```</span><span class=\"w\">\n\n</span><span class=\"err\">but</span><span class=\"w\"> </span><span class=\"err\">from</span><span class=\"w\"> </span><span class=\"err\">projects</span><span class=\"w\"> </span><span class=\"err\">there's</span><span class=\"w\"> </span><span class=\"err\">nowhere</span><span class=\"w\"> </span><span class=\"err\">to</span><span class=\"w\"> </span><span class=\"err\">go!</span><span class=\"w\">\n</span><span class=\"err\">#####</span><span class=\"w\"> </span><span class=\"err\">Nested</span><span class=\"w\"> </span><span class=\"err\">Resources</span><span class=\"w\">\n</span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Albums</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Files</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Groups</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Users</span><span class=\"w\">\n</span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Files</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Fields</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Keywords</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Sizes</span><span class=\"w\">\n</span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Projects</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">ProjectKeywords</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Fields</span><span class=\"w\">\n</span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Fields</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">FieldLookupStrings</span><span class=\"w\">\n</span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Searches</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Groups</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Results</span><span class=\"w\">\n  </span><span class=\"err\">*</span><span class=\"w\"> </span><span class=\"err\">Users</span><span class=\"w\">\n\n</span><span class=\"err\">`Projects`</span><span class=\"w\"> </span><span class=\"err\">doesn't</span><span class=\"w\"> </span><span class=\"err\">have</span><span class=\"w\"> </span><span class=\"err\">any</span><span class=\"w\"> </span><span class=\"err\">sub-properties</span><span class=\"w\"> </span><span class=\"err\">that</span><span class=\"w\"> </span><span class=\"err\">would</span><span class=\"w\"> </span><span class=\"err\">be</span><span class=\"w\"> </span><span class=\"err\">useful.</span><span class=\"w\"> </span><span class=\"err\">For</span><span class=\"w\"> </span><span class=\"err\">some</span><span class=\"w\"> </span><span class=\"err\">reason</span><span class=\"w\"> </span><span class=\"err\">(maybe</span><span class=\"w\"> </span><span class=\"err\">it's</span><span class=\"w\"> </span><span class=\"err\">the</span><span class=\"w\"> </span><span class=\"err\">OA</span><span class=\"w\"> </span><span class=\"err\">way)</span><span class=\"w\"> </span><span class=\"err\">our</span><span class=\"w\"> </span><span class=\"err\">`Projects`</span><span class=\"w\"> </span><span class=\"err\">have</span><span class=\"w\"> </span><span class=\"err\">the</span><span class=\"w\"> </span><span class=\"err\">same</span><span class=\"w\"> </span><span class=\"err\">content</span><span class=\"w\"> </span><span class=\"err\">as</span><span class=\"w\"> </span><span class=\"err\">our</span><span class=\"w\"> </span><span class=\"err\">`Albums`</span><span class=\"w\"> </span><span class=\"err\">as</span><span class=\"w\"> </span><span class=\"err\">far</span><span class=\"w\"> </span><span class=\"err\">as</span><span class=\"w\"> </span><span class=\"err\">I</span><span class=\"w\"> </span><span class=\"err\">can</span><span class=\"w\"> </span><span class=\"err\">see.</span><span class=\"w\"> </span><span class=\"err\">so</span><span class=\"w\"> </span><span class=\"err\">if</span><span class=\"w\"> </span><span class=\"err\">I</span><span class=\"w\"> </span><span class=\"err\">ask</span><span class=\"w\"> </span><span class=\"err\">for:</span><span class=\"w\">\n</span><span class=\"err\">```request</span><span class=\"w\">  </span><span class=\"err\">=</span><span class=\"w\"> </span><span class=\"s2\">\"/REST/1/Albums/384/\"</span><span class=\"err\">```</span><span class=\"w\">\n\n</span><span class=\"err\">I</span><span class=\"w\"> </span><span class=\"err\">get:</span><span class=\"w\">\n</span><span class=\"err\">```json</span><span class=\"w\">\n</span><span class=\"p\">{</span><span class=\"w\">\n  </span><span class=\"nl\">\"private_image_count\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"104,0,0,0\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"public_image_count\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"17,0,0,0\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"company_album\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"updated\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"20121004164442\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"384\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"code\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"faad6f4a48ad0dd5345c045e459f7d2a\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"share_with_all_users\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"1\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"can_modify\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">0</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"locked\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"all_users_can_modify\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"name\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"Robina Hospital Expansion\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"description\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"B0712003\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"created\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"20121004162913\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"my_album\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">0</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"shared_album\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"user_id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"30\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"unapproved_image_count\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0,0,0,0\"</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>which is promising. The Nested Resources list above says that <code class=\"language-plaintext highlighter-rouge\">Albums</code> have <code class=\"language-plaintext highlighter-rouge\">Files</code>. But for <code class=\"language-plaintext highlighter-rouge\">request = \"/REST/1/Albums/384/Files\"</code> I get</p>\n\n<div class=\"language-json highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"p\">{</span><span class=\"w\">\n  </span><span class=\"nl\">\"error_message\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"Not a valid URL.\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"http_status_code\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"400\"</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"err\">```</span><span class=\"w\">\n\n</span><span class=\"err\">which</span><span class=\"w\"> </span><span class=\"err\">is</span><span class=\"w\"> </span><span class=\"err\">a</span><span class=\"w\"> </span><span class=\"err\">bit</span><span class=\"w\"> </span><span class=\"err\">confusing(!)</span><span class=\"w\"> </span><span class=\"err\">and</span><span class=\"w\"> </span><span class=\"err\">for</span><span class=\"w\"> </span><span class=\"err\">`request</span><span class=\"w\"> </span><span class=\"err\">=</span><span class=\"w\"> </span><span class=\"s2\">\"/REST/1/Albums/384/files\"</span><span class=\"err\">`</span><span class=\"w\"> </span><span class=\"err\">(f</span><span class=\"w\"> </span><span class=\"err\">not</span><span class=\"w\"> </span><span class=\"err\">F):</span><span class=\"w\">\n</span><span class=\"err\">```json</span><span class=\"w\">\n</span><span class=\"p\">{</span><span class=\"w\">\n  </span><span class=\"nl\">\"error_message\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"Cannot create requested REST module /REST/1/Albums/384/files\"</span><span class=\"p\">,</span><span class=\"w\">\n  </span><span class=\"nl\">\"http_status_code\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"404\"</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"err\">```</span><span class=\"w\">\n\n</span><span class=\"err\">So</span><span class=\"w\"> </span><span class=\"err\">that</span><span class=\"w\"> </span><span class=\"err\">seems</span><span class=\"w\"> </span><span class=\"err\">like</span><span class=\"w\"> </span><span class=\"err\">a</span><span class=\"w\"> </span><span class=\"err\">bit</span><span class=\"w\"> </span><span class=\"err\">of</span><span class=\"w\"> </span><span class=\"err\">a</span><span class=\"w\"> </span><span class=\"err\">dead</span><span class=\"w\"> </span><span class=\"err\">end.</span><span class=\"w\">\n\n</span><span class=\"err\">For</span><span class=\"w\"> </span><span class=\"err\">the</span><span class=\"w\"> </span><span class=\"err\">sake</span><span class=\"w\"> </span><span class=\"err\">of</span><span class=\"w\"> </span><span class=\"err\">completeness:</span><span class=\"w\">\n\n</span><span class=\"err\">```ruby</span><span class=\"w\">\n</span><span class=\"err\">resourses</span><span class=\"w\"> </span><span class=\"err\">=</span><span class=\"w\"> </span><span class=\"p\">[</span><span class=\"s2\">\"AccessLevel\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Albums\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"AlternateStores\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"AspectRatios\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Categories\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"CopyrightHolders\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"CopyrightPolicies\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Fields\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Files\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Groups\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Keywords\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"KeywordCategories\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Photographers\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Projects\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"ProjectKeywords\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"ProjectKeywordCategories\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Searches\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Sizes\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"TextRewrites\"</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">\"Users\"</span><span class=\"p\">]</span><span class=\"w\">\n\n</span><span class=\"err\">resourses.each</span><span class=\"p\">{</span><span class=\"err\">|r|</span><span class=\"w\">\n    </span><span class=\"err\">ask_oa(request+r</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"err\">baseURL</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"err\">params</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"err\">username</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"err\">password)</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>gives the <a href=\"http://notionparallax.co.uk/wordpress/wp-content/uploads/2014/07/OA_REST.txt\">outcome here</a>.</p>\n\n",
 "content_hash": "sha256:3b799a5c6a51eeabdc641969328ffdfed403b8d8e4dcc55f3a116ca537123213",
 "media": [],
 "changelog": [
  {
   "version": 1,
   "at": "2014-07-03T19:04:08Z",
   "note": null
  }
 ],
 "transclusions": []
}