Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratch APIに対して理解を深めるトピック
- bakei_GAME
-
Scratcher
20 posts
Scratch APIに対して理解を深めるトピック
すいません質問です。scratch API等を使用してコメントを投稿することは可能でしょうか?自分なりに調べてみたのですが、なかなか出てこなかったので、教えていただけるとありがたいです。
- Catapult-
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
#303
可能です。例えば、ユーザーのプロフィール欄にコメントをする場合は、
というAPIに
というJSONをbodyとしてPOSTします。
ただし、リクエストヘッダのContent-Typeには適切な値(application/x-www-form-urlencoded; charset=UTF-8 など)を、Refererにはhttps://scratch.mit.edu/users/<ユーザー名>/を、X-Csrftokenにはcsrfトークンを設定する必要があります。
また、サーバーに負荷をかけないよう、リクエストの間には間隔を開ける必要があります。
API, JSON, POSTなど耳慣れない単語もありますが、検索すると情報が出てきます。
APIの種類については、ScratchWiki(少し古いですが)やこの記事などがよくまとまっていて分かりやすいです。
リクエストのボディやヘッダに含める情報など、各APIごとに違いがありますが、わからなかったらブラウザのデベロッパーツールで通信の様子を見ながら目的の動作(コメント送信など)をしてみるのが一番です。
私としては、Scratch自体がどのように動いているのか、ユーザーとやり取りしているのかを手を動かしながら探すことは学びになりますし、サーバーに負荷をかけない程度であれば許されると思います。
追記:ito-noiziさんからの指摘により、bodyの誤情報を訂正しました。
可能です。例えば、ユーザーのプロフィール欄にコメントをする場合は、
https://scratch.mit.edu/site-api/comments/user/<ユーザー名>/add/
{ "content": "<コメント内容>", "parent_id": "<返信先のコメントID>(返信先がない場合は空文字)", "commentee_id": "<返信先のユーザーID>(返信先がない場合は空文字)" }
ただし、リクエストヘッダのContent-Typeには適切な値(application/x-www-form-urlencoded; charset=UTF-8 など)を、Refererにはhttps://scratch.mit.edu/users/<ユーザー名>/を、X-Csrftokenにはcsrfトークンを設定する必要があります。
また、サーバーに負荷をかけないよう、リクエストの間には間隔を開ける必要があります。
API, JSON, POSTなど耳慣れない単語もありますが、検索すると情報が出てきます。
APIの種類については、ScratchWiki(少し古いですが)やこの記事などがよくまとまっていて分かりやすいです。
リクエストのボディやヘッダに含める情報など、各APIごとに違いがありますが、わからなかったらブラウザのデベロッパーツールで通信の様子を見ながら目的の動作(コメント送信など)をしてみるのが一番です。
私としては、Scratch自体がどのように動いているのか、ユーザーとやり取りしているのかを手を動かしながら探すことは学びになりますし、サーバーに負荷をかけない程度であれば許されると思います。
追記:ito-noiziさんからの指摘により、bodyの誤情報を訂正しました。
Last edited by Catapult- (Jan. 6, 2024 13:45:20)
- ito-noizi
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
これはというJSONをbodyとしてPOSTします。{
"content": "<コメント内容>",
"parent_id": "<返信先のユーザーID>(返信先がない場合は空文字)",
"commentee_id": "<返信先のコメントID>(返信先がない場合は空文字)"
}
{
"content": "<コメント内容>",
"parent_id": "<返信先のコメントID>(返信先がない場合は空文字)",
"commentee_id": "<返信先のユーザーID>(返信先がない場合は空文字)"
}また、補足ですが、「返信先のコメントID」は必ず親コメントのIDでなければなりません。
- takenokodomo
-
Scratcher
6 posts
Scratch APIに対して理解を深めるトピック
じゃあ、apiからscratchのプロジェクトにインポートしてそのデータをプログラムで扱うことってできますか?
- tabakenn
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
じゃあ、apiからscratchのプロジェクトにインポートしてそのデータをプログラムで扱うことってできますか?Scratch 外からapi を動かしてデータを入れて、Scratch 内のプログラムから利用したいということですよね??
リアルタイムでならapi からクラウド変数を使って、そうでなければプロジェクトをapi からアップロードできますが、Scratch 利用規約に沿えないやり方も多いです。
- takenokodomo
-
Scratcher
6 posts
Scratch APIに対して理解を深めるトピック
クラウドの統計とかのただのクラウド変数ではできないプロジェクト(外部から情報を入れてると思う)ってやっぱりapiを使ってるんですか?
- kouryou118103
-
Scratcher
1000+ posts
Scratch APIに対して理解を深めるトピック
一応、apiを使わない方法もあります (ウェブスクレイピング) 。
apiは直接クラウド変数に代入する方法はなく、サーバー (一般的なのはラズベリーパイ) を常時動かしておく必要があります。
apiは直接クラウド変数に代入する方法はなく、サーバー (一般的なのはラズベリーパイ) を常時動かしておく必要があります。
Last edited by kouryou118103 (Jan. 9, 2024 23:27:50)
- ito-noizi
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
質問です。
メッセージページで開発者ツールを使っていたところ、
というGETリクエストがありました。レスポンスは空の配列で、curlを見てみるとbodyはnullでしたが、ヘッダーにはxtokenを置かなければならないようです。
何を取得しているかなどを教えてください。
解決。STからのメッセージのようです。
メッセージページで開発者ツールを使っていたところ、
https://api.scratch.mit.edu/users/ito-noizi/messages/admin
何を取得しているかなどを教えてください。
解決。STからのメッセージのようです。
Last edited by ito-noizi (Jan. 11, 2024 03:20:26)
- yu-yu0202
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
Last edited by yu-yu0202 (Jan. 12, 2024 23:26:59)
- abee
-
Scratcher
1000+ posts
Scratch APIに対して理解を深めるトピック
「ユーザースクリプトに関する方針」を示すようにお願いします。
そうしないと、真偽も、なぜそのような方針があるのかも確認できません。
そうしないと、真偽も、なぜそのような方針があるのかも確認できません。












