提供:Japanese Scratch-Wiki
この項目には、最新バージョンのScratchには存在しない機能について書かれています。現在は使うことができないので、注意してください。 |
この項目は、書きかけの項目です。この項目に加筆・訂正などをしてくださる協力者を求めています。
|
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
Scratchのサーバーの状態を返す。
リクエスト例
GET https://api.scratch.mit.edu/health
応答例
APIの結果 |
---|
|
ニュース
GET /news
トップページのScratchニュースの情報を返す。
リクエスト例
GET https://api.scratch.mit.edu/news
応答例
APIの結果 |
---|
|
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
応答例
APIの結果 |
---|
|
GET /proxy/users/<username>/activity
プロフィールページの「私が行ったこと」セクションの内容を返す。
リクエスト例
GET https://api.scratch.mit.edu/proxy/users/abee/activity
応答例
APIの結果 |
---|
|
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/ScratchCat
応答例
APIの結果 |
---|
|
GET /users/<username>/favorites
「お気に入り」を押したプロジェクトの詳細を配列で返す。
リクエスト例
GET https://api.scratch.mit.edu/users/ScratchCat/favorites
応答例
APIの結果 |
---|
|
GET /users/<username>/followers
ユーザーの最新のフォロワーの配列を返す。
リクエスト例
GET https://api.scratch.mit.edu/users/thisandagain/followers
応答例
APIの結果 |
---|
|
GET /users/<username>/following
ユーザーがフォローしているユーザーのうち、直近5件を配列で返す。
リクエスト例
GET https://api.scratch.mit.edu/users/ScratchCat/following
応答例
APIの結果 |
---|
|
GET /users/<username>/messages/count
ユーザーの未読メッセージ数を返す。
リクエスト例
GET https://api.scratch.mit.edu/users/ScratchCat/messages/count
応答例
{"count":82493}
GET /users/<username>/studios/curate/
ユーザーがキュレーションしているスタジオの情報を返す。
リクエスト例
GET https://api.scratch.mit.edu/users/ScratchCat/studios/curate/
応答例
APIの結果 |
---|
|
GET /users/<username>/projects
ユーザーが共有したプロジェクトの情報を返す。
リクエスト例
GET https://api.scratch.mit.edu/users/ScratchCat/projects
応答例
APIの結果 |
---|
GET /users/<username>/projects/<project_id>プロジェクトの詳細情報を返す。 リクエスト例 GET https://api.scratch.mit.edu/users/ScratchCat/projects/103530008 応答例
|
プロジェクトの統計
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/
応答例
APIの結果 |
---|
|
GET /projects/<project-id>/studios/
リクエスト例
GET https://api.scratch.mit.edu/projects/103530008/studios/
応答例
APIの結果 |
---|
|
コメントAPI
GET /projects/<project-id>/comments/
リクエスト例
GET https://api.scratch.mit.edu/projects/103530008/comments/
応答例
APIの結果 |
---|
|
GET /project/<project-id>/comments/<parent-id>/replies/
リクエスト例
GET https://api.scratch.mit.edu/projects/203791193/comments/98229863/replies/
応答例
APIの結果 |
---|
|
-->
教師用アカウントAPI
GET /classrooms/<classroom-id>/
リクエスト例
GET https://api.scratch.mit.edu/comments/project/203791193/98229863/
応答例
APIの結果 |
---|
|
検索
qパラメータがない場合、人気のものが返るので注意。
GET /search/projects/?q=<word>
検索条件に当てはまるプロジェクトの情報を配列で返す。
リクエスト例
GET https://api.scratch.mit.edu/search/projects?q=Japan
応答例
APIの結果 |
---|
|
GET /search/studios?q=<word>
検索条件に当てはまるスタジオの情報を配列で返す。
リクエスト例
GET https://api.scratch.mit.edu/search/studios?q=Wiki
応答例
APIの結果 |
---|
|
ユーザー名API
GET /accounts/check_username/<word>
「username exists」(すでに存在)「bad username」(検閲)「invalid username」(無効)「valid username」(使用可能)を返す。
リクエスト例
GET https://scratch.mit.edu/accounts/check_username/UnavailableUser/
応答例
APIの結果 |
---|
|
リクエストのエラー
存在しないリソースへアクセスすると、以下のような連想配列が返される。
{
"code":"NotFound",
"message":""
}
scratch.mit.edu/site-api
GET /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/
PUT /users/all/<username>
「私について」「私が取り組んでいること」の変更。
リクエスト例
PUT https://scratch.mit.edu/site-api/users/all/apple502j
必要なヘッダー
X-CSRFTokenというヘッダーに、トークンを設定する。トークンはCookieの「scratchcsrftoken」を参照すればいい。また、X-Requested-WithにはXMLHttpRequestを指定する。
Cookieは、scratchcsrftokenとscratchsessionsidが必要だ。
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
応答例
APIの結果 |
---|
|
GET /project/set/<project_ids>/
リクエスト例
GET https://scratch.mit.edu/api/v1/project/set/169147225;178040314/
応答例
APIの結果 |
---|
|
GET /user/<username>/
リクエスト例
GET https://scratch.mit.edu/api/v1/user/mres/
応答例
APIの結果 |
---|
|
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と同じものが返る。
リクエスト例
GET https://projects.scratch.mit.edu/internalapi/project/102747129/get/
応答例
APIの結果 |
---|
|
素材
リクエスト例
GET https://cdn.assets.scratch.mit.edu/internalapi/asset/5e037aca5446a7e57093e45fe6f18c9e.svg/get/
応答例
APIの結果 |
---|
|
個人ページ | |
コミュニティ | |
その他 |