提供: Japanese Scratch-Wiki

Scratch APIから転送)

このきじは ひらがなのページがありません。ごめんなさい。編集者向け:作成する
Document stub.png この項目は、書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています。

Clock.png このページはScratch 2.0から3.0へのアップデートに伴い、大規模な変更が必要であると予想されています。ここに書かれていることはすぐに古くなるかもしれません。

Scratch APIを使うと、Scratchに関するさまざまなデータが取得できる。

試す場合、以下の「リクエスト例」のURLに飛ぶだけで結果がわかる。

目次

パラメーター

  • 一覧を返すJSON APIにおいて、?limit=数字にて、個数制限ができる。
  • 一部のAPIは、?offset=数字にて、範囲指定ができる。

api.scratch.mit.edu

api.scratch.mit.eduは、最新のScratch APIである。このAPIのURLは次の通り:

https://api.scratch.mit.edu

GET /

リクエスト例

GET https://api.scratch.mit.edu

応答例 {"website":"scratch.mit.edu","api":"api.scratch.mit.edu","help":"help@scratch.mit.edu"}

サーバーの状態

GET /health

リクエスト例

GET https://api.scratch.mit.edu/health

応答例

ニュース

GET /news

リクエスト例

GET https://api.scratch.mit.edu/news

応答例

GET /projects/count/all

リクエスト例

GET https://api.scratch.mit.edu/projects/count/all

応答例 {"count":22850560}

最近の様子

GET /proxy/featured

リクエスト例

GET https://api.scratch.mit.edu/proxy/featured

応答例

GET /proxy/users/<username>/activity

リクエスト例

GET https://api.scratch.mit.edu/proxy/users/abee/activity

応答例

GET /proxy/users/<username>/activity/count (廃止)

リクエスト例

GET https://api.scratch.mit.edu/proxy/users/Paddle2See/activity/count

応答例

{
  "msg_count": 14
}

ユーザー

GET /users/<username>

リクエスト例

GET https://api.scratch.mit.edu/users/apple502j

応答例

GET /users/<username>/favorites

リクエスト例

GET https://api.scratch.mit.edu/users/ScratchCat/favorites

応答例

GET /users/<username>/followers

リクエスト例

GET https://api.scratch.mit.edu/users/thisandagain/followers

応答例

GET /users/<username>/following

リクエスト例

GET https://api.scratch.mit.edu/users/Paddle2See/following

応答例

GET /users/<username>/messages/count

リクエスト例

GET https://api.scratch.mit.edu/users/Paddle2See/messages/count

応答例

{
  "count": 14
}

GET /users/<username>/studios/curate/

リクエスト例

GET https://api.scratch.mit.edu/users/ScratchCat/studios/curate/

応答例

GET /users/<username>/projects

リクエスト例

GET https://api.scratch.mit.edu/users/ScratchCat/projects

応答例

プロジェクトの統計

GET /projects/<project_id>/

リクエスト例

GET https://api.scratch.mit.edu/projects/103530008

応答例: 上記に同じ。

GET /projects/<project_id>/remixes/

リクエスト例

GET https://api.scratch.mit.edu/projects/103530008/remixes/

応答例

GET /projects/<project-id>/studios/

リクエスト例

GET https://api.scratch.mit.edu/projects/103530008/studios/

応答例

コメントAPI

GET /comments/project/<project-id>/

リクエスト例

GET https://api.scratch.mit.edu/comments/project/103530008/

応答例

GET /comments/project/<project-id>/<parent-id>/

リクエスト例

GET https://api.scratch.mit.edu/comments/project/203791193/98229863/

応答例

教師用アカウントAPI

GET /classrooms/<classroom-id>/

リクエスト例

GET https://api.scratch.mit.edu/comments/project/203791193/98229863/

応答例

検索

qパラメータがない場合、人気のものが返るので注意。

GET https://api.scratch.mit.edu/search/projects/?q=<word>

リクエスト例

GET https://api.scratch.mit.edu/search/projects?q=Japan

応答例

GET https://api.scratch.mit.edu/search/studios?q=<word>

リクエスト例

GET https://api.scratch.mit.edu/search/studios?q=Wiki

応答例

ユーザー名API

「username exists」(すでに存在)「bad username」(検閲)「invalid username」(無効)「valid username」(使用可能)を返す。

GET /accounts/check_username/<word>

リクエスト例

GET https://scratch.mit.edu/accounts/check_username/UnavailableUser/

応答例

廃止されたAPI

GET scratch.mit.edu/comments/gallery/<studio_id>/

リクエスト例

GET https://scratch.mit.edu/site-api/comments/gallery/5342/

GET /comments/project/<project_id>/

リクエスト例

GET https://scratch.mit.edu/site-api/comments/project/103345354/

GET /comments/user/<username>/

リクエスト例

GET https://scratch.mit.edu/site-api/comments/user/thisandagain/

PUT /users/followers/<username>/add/

リクエスト例

PUT https://scratch.mit.edu/site-api/users/followers/abee/add/

PUT /users/lovers/<project_id>/add/

リクエスト例

PUT https://scratch.mit.edu/site-api/users/lovers/154080544/add/

PUT /users/favoriters/<project_id>/add/

リクエスト例

PUT https://scratch.mit.edu/site-api/users/favoriters/154080544/add/

varserver api (廃止)

クラウド変数のAPI。

GET /<project_id>

リクエスト例

GET https://scratch.mit.edu/varserver/16805451

応答例

{
  "variables": [
    {
      "name": "☁ たたかれた回数",
      "value": "2546"
    }
  ],
  "lists": []
}

api/v1 API (使用不可)

GET /

リクエスト例

GET https://scratch.mit.edu/api/v1/

応答例

{
  "project": {
    "list_endpoint": "/api/v1/project/",
    "schema": "/api/v1/project/schema/"
  },
  "projecttag": {
    "list_endpoint": "/api/v1/projecttag/",
    "schema": "/api/v1/projecttag/schema/"
  },
  "tag": {
    "list_endpoint": "/api/v1/tag/",
    "schema": "/api/v1/tag/schema/"
  },
  "user": {
    "list_endpoint": "/api/v1/user/",
    "schema": "/api/v1/user/schema/"
  }
}

GET /project/<project_id>/

リクエスト例

GET https://scratch.mit.edu/api/v1/project/178040314

応答例

GET /project/set/<project_ids>/

リクエスト例

GET https://scratch.mit.edu/api/v1/project/set/169147225;178040314/

応答例

GET /user/<username>/

リクエスト例

GET https://scratch.mit.edu/api/v1/user/mres/

応答例

GET /user/set/<usernames>/

現在使用できない。 リクエスト例

GET https://scratch.mit.edu/api/v1/user/set/ScratchCat;thisandagain/

応答例

{
  "objects": [
    {
      "username": "ScratchCat",
      "userprofile": ""
    },
    {
      "username": "thisandagain",
      "userprofile": ""
    }
  ]
}

プロジェクト素材のAPI

プロジェクトのJSON

JSONハッキングに使うJSONと同じものが返る。 リクエスト例

GET https://projects.scratch.mit.edu/internalapi/project/102747129/get/

応答例

素材

リクエスト例

GET https://cdn.assets.scratch.mit.edu/internalapi/asset/5e037aca5446a7e57093e45fe6f18c9e.svg/get/

応答例