jmakhack / myanimelist-cli

Minimalistic command line interface for fetching user anime data from MyAnimeList.
https://aur.archlinux.org/packages/mya-git
MIT License
11 stars 15 forks source link

[TASK] Research alternative APIs now that Jikan no longer supports anime lists #40

Closed jmakhack closed 1 year ago

jmakhack commented 1 year ago

Task Context

Originally, Issue #31 was created to migrate Jikan API from v3 to v4 since v3 is no longer supported. However, it turns out that v4 will not be supporting the endpoint to fetcher user anime lists. Unfortunately, this is the main endpoint that this project relies on to function properly.

For context, see: https://docs.google.com/document/d/1-6H-agSnqa8Mfmw802UYfGQrceIEnAaEh4uCXAPiX5A/edit

Acceptance Criteria

The goal of this task is to investigate feasible alternatives to Jikan API for fetching user anime lists.

Some potential items of research include:

  1. checking if using the MAL api is feasible (while keeping the project open-source)
    • As per their API agreement: Client ID and Client Secret must not be disclosed which may make things a bit complicated
  2. researching if there is a better alternative API for fetching MAL user anime lists
    • Some alternatives found may be old projects that no longer work. Testing is required to determine if they are reliable and still functional.
  3. looking into some way for this project to get the data without the need for an external API

Additional Context

For any questions or discussions, join the Discord to meet and engage with other contributors!

Discord

jmakhack commented 1 year ago

After some updates on the discord, option 1 appears to be a good option.

I have successfully signed up for a MAL Open Beta API Client ID for this project which is currently being used for testing.

Screen Shot 2022-10-03 at 4 33 31 PM

So far there seems to be two big benefits to using this API:

  1. The max page size for fetching user anime lists is 1000
    • The Jikan API max page size was 300
    • Also, the new API has an easier way to fetch the next page
  2. This is the official API from MAL and not a third party API

The only slight challenge now is handling the Client ID which is not to be disclosed. Any contributors/developers on this project will likely have to sign up for their own Client IDs for their own development purposes.