Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Deviantart] Get a list of everyone you're watching via deviantart.com/watching #2511

Closed
Scripter17 opened this issue Apr 19, 2022 · 3 comments

Comments

@Scripter17
Copy link
Contributor

The current solution (from #515) is really slow and requires your profile to have an /about#watching to query

Annoyingly there isn't an API endpoint for this (there's one for watchers, but not watchees)

The internal endpoint for the /watching page is https://www.deviantart.com/global/difi/?c%5B%5D=%22Friends%22%2C%22getFriendsList%22%2C%5Bfalse%2C%22<PAGE NUM>%22%5D&iid=[redacted]&mp=3&t=json

I'm not sure about your policy on internal endpoints or whether or not this'd get gallery-dl banned by deviantart, but I say it's worth exploring

I may or may not make a pull request for this if I can get it to work

@Scripter17
Copy link
Contributor Author

Just remembered I opened this issue

Danopia wrote some pretty comprehensive documentation on how DiFi works

https://github.com/danopia/deviantart-difi/wiki/Friends#getfriendslist

I'll see what I can do with this

@mikf
Copy link
Owner

mikf commented Aug 1, 2024

Annoyingly there isn't an API endpoint for this (there's one for watchers, but not watchees)

Due to recent DA API changes (#5916), I've looked over the available endpoints again and found /user/friends/{username}, which seems to return the same results as the method from b347bf6 albeit in lexicographical order. It uses the OAuth API, so it is quite a bit faster than the old method and it works even for profiles without /about#watching.

As for the input URL, you currently still need to specify a username (changing this would be rather tedious, so I'd like to avoid it if possible), but it now also accepts just /watching as path.

# both do the same
https://www.deviantart.com/USER/watching
https://www.deviantart.com/USER/about#watching

@Scripter17
Copy link
Contributor Author

Confirmed working

Thank you very much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants