/scapi3

Scratch 3's API, for go code

Primary LanguageGoGNU Lesser General Public License v3.0LGPL-3.0

I am so sorry for making this.

scapi3

The Scratch 3 API, implemented in Golang.

This project is a Golang rewrite of this library (plus more stuff). Now featuring even less callback hell or whatever.

This is still in progress.

What's not working

  • Commenting returns 401 unauthorized
  • Cloud sessions are created successfully, but the server seems to shut down the websocket connection right after the handshake is sent.

API coverage

User sessions

  • User session login
  • User session verify
  • User session comment (Broken)
  • Cloud session creation (Broken)
  • Cloud session close
  • Cloud session get variable
  • Cloud session set variable
  • Cloud session variable change event (Broken)

Rest API (Complete!)

Following this article:

  • API GET /health
  • API GET /news
  • API GET /projects/count/all (This is broken on Scratch's end)
  • API GET /projects/<project_id>
  • API GET /projects/<project_id>/remixes
  • API GET /studios/<studio_id>
  • API GET /studios/<studio_id>/projects
  • API GET /studios/<studio_id>/managers
  • API GET /studios/<studio_id>/curators
  • API GET /studios/<studio_id>/activity?dateLimit=<date>
  • API GET /studios/<studio_id>/comments
  • API GET /studios/<studio_id>/comments/<comment_id>
  • API GET /studios/<studio_id>/comments/<comment_id>/replies
  • API GET /proxy/featured
  • API GET /users/<username>
  • API GET /users/<username>/favorites
  • API GET /users/<username>/followers
  • API GET /users/<username>/following
  • API GET /users/<username>/messages/count
  • API GET /users/<username>/projects
  • API GET /users/<username>/projects/<project_id>
  • API GET /users/<username>/projects/<project_id>/studios
  • API GET /users/<username>/projects/<project_id>/comments
  • API GET /users/<username>/projects/<project_id>/comments/<comment_id>
  • API GET /users/<username>/projects/<project_id>/comments/<comment_id>/replies
  • API GET /users/<username>/studios/curate
  • API GET /accounts/checkusername/<username>
  • API GET /explore/projects?q=<query>&mode=<mode>&language=<language_code>
  • API GET /explore/studios?q=<query>&mode=<mode>&language=<language_code>
  • API GET /search/projects?q=<query>&mode=<mode>&language=<language_code>
  • API GET /search/studios?q=<query>&mode=<mode>&language=<language_code>