Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Obtain Deviantart Deviation ID / UUID from page URL

I was looking at the Deviantart API to see what you can do with it .

A lot of requests require you to provide a deviation id to work with. Take for instance adding a deviation to favorites ( in Collections -> Add deviation to favorites above, I cannot post more than 2 links... )

Now I looked through the API to figure out how to obtain that id, but I did not find out how to do so.

If I only have the deviation URL, for instance http://kennyklent.deviantart.com/art/Pinkie-Pie-Dancing-296143815 , how can I tell its deviation-id? It is not the number at the end 296143815, I would've thought so, but it's not.

If it helps, here's one example from the api's /browse/dailydeviations endpoint

"deviationid": "27FD366A-30CB-FC3E-DE54-9621E90FCE60",
"printid": "E984FC87-8B57-239C-FE7C-E2674A0DDFC4",
"url": "http://mudimba.deviantart.com/art/SF-Botanical-Gardens-57879397",

So this deviation SF-Botanical-Gardens-57879397 has the id 27FD366A-30CB-FC3E-DE54-9621E90FCE60 - but how would I find out if it wasn't listed in the examples?

like image 510
Pinkie Pie Avatar asked Feb 18 '15 10:02

Pinkie Pie


1 Answers

Update 06/2017:

For anyone stumbling across this 2 years later, the answer below still works but there is now another way to get the UUID. Every Deviation now has a meta property da:appurl showing the UUID value on the deviation page itself.

To stay with the SF-Botanical-Gardens-57879397 example from above, looking at the page source at http://mudimba.deviantart.com/art/SF-Botanical-Gardens-57879397 reveals:

<meta property="da:appurl" content="DeviantArt://deviation/27FD366A-30CB-FC3E-DE54-9621E90FCE60">

Which contains exactly the UUID value 27FD366A-30CB-FC3E-DE54-9621E90FCE60


Original answer

I got an answer from a Deviantart dev directly, http://comments.deviantart.com/1/492518964/3755610860

You cannot convert integer IDs into UUID format, you have to query the api to find the correct uuid. So for your example, you would query the /gallery/folders endpoint and then the gallery/{folderid} endpoint to get the list of deviations in that folder.

There's no easier way to obtain the UUID for a given URL for now.

like image 108
Pinkie Pie Avatar answered Oct 03 '22 02:10

Pinkie Pie