Discuss Scratch

YU1000
Scratcher
86 posts

Scratch APIに対して理解を深めるトピック

プロフィールのAPIで返される内容が変わりました! ※全て、@YU1000まとめです。

メンバーシップに加入しているabeeさんのAPIで確認すると、今までと比べて
"membership_avatar_badge":1,"membership_label":1
の部分が追加されました。
項目は以下の通りです。(詳しいことは分かりません)
・membership_avatar_badge
→プロフィールにバッチを表示するか否かだと思います。
・membership_label
→メンバーシップのラベルだと思います。

変更は以上です。このAPI追加に伴い、取得できる情報が増えました。
エディット:こちらにより、該当部分を削除。

Last edited by YU1000 (Dec. 17, 2025 06:27:30)

pura314
Scratcher
100+ posts

Scratch APIに対して理解を深めるトピック

“status”は私が取り組んでいることで、“bio”は私についてです。また、「“status”:“”,“bio”:“”,“country”:“Japan”,」は追加されていません。
そのこと、注意してください。
roomba0811
Scratcher
18 posts

Scratch APIに対して理解を深めるトピック

誰かの活動内容って見ることはできますか?
コメントの数は見れるけど、前見れたの。でも、サイトのURLを忘れたので教えて欲しいです
YU1000
Scratcher
86 posts

Scratch APIに対して理解を深めるトピック

https://scratch.mit.edu/messages/ajax/user-activity/?user=ユーザー名&max=10000
これですか?

Last edited by YU1000 (Jan. 12, 2026 00:37:03)

roomba0811
Scratcher
18 posts

Scratch APIに対して理解を深めるトピック

YU1000 wrote:

https://scratch.mit.edu/messages/ajax/user-activity/?user=ユーザー名&max=10000
これですか?
教えてくれてありがとうございます!
はい、それを探していました!
本当にありがとうございます!
roomba0811
Scratcher
18 posts

Scratch APIに対して理解を深めるトピック

誰かのコメントした内容を見ることはできますか?
教えて欲しいです。scratchwikiに書いてあるやつは、2.0の時で、使えないので。

KRTSD0823
Scratcher
500+ posts

Scratch APIに対して理解を深めるトピック

#466
「誰かの」という条件を付けるのは難しいですが、プロジェクトやプロフィールなどのコメントを取得することはできます。

プロフィール:
https://scratch.mit.edu/site-api/comments/user/ユーザー名?page=1
page:何ページ目を表示するか
これはJSONではなくHTMLが表示されます。
※1ページごとに何個コメントがあるのかは分かりません

プロジェクト:
https://api.scratch.mit.edu/users/作者の名前/projects/プロジェクトID/comments?offset=0&limit=20
offset:何個目のコメントから数えるか(古いコメント(0)から数える)
limit:取得するコメントの数
ユーザー名は必須らしいです。

スタジオ:
https://api.scratch.mit.edu/studios/スタジオID/comments?offset=0&limit=20
offset:何個目のコメントから数えるか(古いコメント(0)から数える)
limit:取得するコメントの数
roomba0811
Scratcher
18 posts

Scratch APIに対して理解を深めるトピック

KRTSD0823 wrote:

#466
「誰かの」という条件を付けるのは難しいですが、プロジェクトやプロフィールなどのコメントを取得することはできます。

プロフィール:
https://scratch.mit.edu/site-api/comments/user/ユーザー名?page=1
page:何ページ目を表示するか
これはJSONではなくHTMLが表示されます。
※1ページごとに何個コメントがあるのかは分かりません

プロジェクト:
https://api.scratch.mit.edu/users/作者の名前/projects/プロジェクトID/comments?offset=0&limit=20
offset:何個目のコメントから数えるか(古いコメント(0)から数える)
limit:取得するコメントの数
ユーザー名は必須らしいです。

スタジオ:
https://api.scratch.mit.edu/studios/スタジオID/comments?offset=0&limit=20
offset:何個目のコメントから数えるか(古いコメント(0)から数える)
limit:取得するコメントの数
わかりました!
教えてくれてありがとうございます!
akaru_eshi_
Scratcher
1 post

Scratch APIに対して理解を深めるトピック

scratchapIって何ですか
主になにをするところですか

Last edited by akaru_eshi_ (Jan. 25, 2026 13:57:59)

kaki_jp
Scratcher
100+ posts

Scratch APIに対して理解を深めるトピック

#469
Scratch API(←エルではなくてアイです。)
とは、簡単に言えば外部のウェブサイトからScratchの状態を知るためのものです。
(#3参考)
主に何ができるのかはScratch_API_(2.0)を見てもらえれば分かるはずです。

Last edited by kaki_jp (Jan. 25, 2026 14:21:33)

kur0nekop0315
Scratcher
54 posts

Scratch APIに対して理解を深めるトピック

活動履歴取得apiわかる人いますか?
tuneninemuihito
Scratcher
100+ posts

Scratch APIに対して理解を深めるトピック

YU1000
Scratcher
86 posts

Scratch APIに対して理解を深めるトピック

現在、Scratch のスタジオに作品を追加・削除する処理を外部の環境(Node.js)で実行しようとしています。
そこで、スタジオ APIを使うには「X-Token」が必要であることは理解していますが、この X-Token が取得できず困っています。(ブラウザ上で実行する場合は、token を取得できることは確認しています)
しかし、外部環境では Scratch の Cookieが存在しないため、X-Token を取得できません。
外部環境で X-Token を取得する方法、スタジオ API を正しく利用する方法を教えていただきたいです。
Catapult-
Scratcher
100+ posts

Scratch APIに対して理解を深めるトピック

#473
https://scratch.mit.edu/accounts/login/
に各種認証情報をPOSTして帰ってきたレスポンス中のtokenがそれです。
TNTSuperMan
Scratcher
100+ posts

Scratch APIに対して理解を深めるトピック

詳しい情報について言ってもいいでしょうか?
X-Tokenなどの認証関係については、#343周辺に情報がありました。

まず、https://scratch.mit.edu/csrf_token/にGETリクエストを送るとscratchcsrftokenというCookieが送られてきます。
次に、https://scratch.mit.edu/accounts/login/にユーザー名・パスワード・scratchcsrftoken Cookieを付けてPOSTリクエストを送るとX-Tokenを取得できるようです。

https://scratch.mit.edu/accounts/login/へのリクエストに付ける具体的なボディは以下みたいな感じです
{
    "username": "ユーザー名",
    "password": "パスワード",
    "useMessages": true
}

また、#343によると以下のようなヘッダーが無いとブロックされるようです。
X-Requested-With: XMLHttpRequest
Referer: https://scratch.mit.edu/
YU1000
Scratcher
86 posts

Scratch APIに対して理解を深めるトピック

#474、#475
ありがとうございます。
odoruari
Scratcher
39 posts

Scratch APIに対して理解を深めるトピック

セッションIDを取得するApiを教えてください
tabakenn
Scratcher
100+ posts

Scratch APIに対して理解を深めるトピック

上にもあるけれど

XTOKEN=$(
curl -c cookies.txt 'https://scratch.mit.edu/accounts/login/' \
-H 'Referer: https://scratch.mit.edu/' \
-H 'X-CSRFToken: a' \
-H 'X-Requested-With: XMLHttpRequest' \
-H 'Cookie: scratchcsrftoken=a;' \
--data-raw "{\"username\":\"$USER\",\"password\":\"$PASS\"}" \
| jq -r '.[0].token'
)
cat cookies.txt

で動作しました。

x-tokenはレスポンスに、scratchsessionsidはクッキーにあります。

セッションIDはクラウド変数の更新に使えたり、x-tokenはproject_tokenを取得してproject.jsonにアクセスしたりできるそうです。

Last edited by tabakenn (March 18, 2026 08:28:54)

tuneninemuihito
Scratcher
100+ posts

Scratch APIに対して理解を深めるトピック

どこに送れば分からないんでここに送ります。トピ違いだったらすみません。また、既知の情報かもしれません。
最近の、「scratchの検索機能で検索結果が出ない」という件について、
https://api.scratch.mit.edu/search/
https://api.scratch.mit.edu/search/projects/
https://api.scratch.mit.edu/search/studios/
が 429 を返していて結果無しの扱いになってしまっているようです。

追記:503を返している時も。

追追記:#480を受けて、URL部を修正しました。
(どちらも同様に返ってくるので省略してしまっていました。すみません。)

Last edited by tuneninemuihito (Aug. 20, 2026 11:02:30)

e1bfd762321e409cee4a
Scratcher
100+ posts

Scratch APIに対して理解を深めるトピック

#479
https://api.scratch.mit.edu/search/ は存在しません。存在するのは
https://api.scratch.mit.edu/search/projects/ と https://api.scratch.mit.edu/search/studios/ です。
今試したところだと search/projects/ も search/studios/ も429吐いてますね。
search/studios/ に関しては “type”:“rejected_execution_exception” が吐かれている…

Powered by DjangoBB