Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratch APIに対して理解を深めるトピック
- Catapult-
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
#222
ん、今私の環境で試してみたら普通に取得できてしまいましたよ…
APIには制限が特にかかっていないようです。
ん、今私の環境で試してみたら普通に取得できてしまいましたよ…
APIには制限が特にかかっていないようです。
function myFunction() { var response = UrlFetchApp.fetch("https://clouddata.scratch.mit.edu/logs?projectid=832771060&limit=40&offset=0"); Logger.log(response); }
11:51:23 情報 [{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":4,"timestamp":1680997699600},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":3,"timestamp":1680997699072},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":2,"timestamp":1680997698478},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":1,"timestamp":1680997697920},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":"0","timestamp":1680997697390},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":6,"timestamp":1680997674654},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":5,"timestamp":1680997673925},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":4,"timestamp":1680997673232},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":3,"timestamp":1680997672445},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":2,"timestamp":1680997671087},{"user":"ito-noizi","verb":"set_var","name":"☁ マクロに拾ってもらおう!","value":1,"timestamp":1680997669108},{"user":"ito-noizi","verb":"create_var","name":"☁ マクロに拾ってもらおう!","value":0,"timestamp":1680997540153}]Last edited by Catapult- (April 16, 2023 02:54:07)
- ito-noizi
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
yukku様、Sky_Thunder様、Catapult-様ありがとうございます。今GASでやってみたところできました。limit=の後の数字を3600くらいにすればトリガーを時間主導型にして1分刻みでほぼリアルタイムで情報を取得できそうですね。これでセーブデータをサーバーに保存したりできそうなのでちょっと頑張ってみます。
(ロードに使うためのPOSTリクエストをscratchに送れたらいい?)
(ロードに使うためのPOSTリクエストをscratchに送れたらいい?)
Last edited by ito-noizi (April 16, 2023 05:53:50)
- abee
-
Scratcher
1000+ posts
Scratch APIに対して理解を深めるトピック
#224
これは利用規約3.5-5の統計情報の操作に違反しているように思えます。
Scratch Teamはすべてを監視しているわけではないので、一般には報告がない限り対処されません(コミュニティーガイドラインのとおり)。
また、不適切な作品のリンクを載せること自体、「不適切なものへの反応」にあたる可能性があるので、削除することをおすすめします。
これは利用規約3.5-5の統計情報の操作に違反しているように思えます。
Scratch Teamはすべてを監視しているわけではないので、一般には報告がない限り対処されません(コミュニティーガイドラインのとおり)。
また、不適切な作品のリンクを載せること自体、「不適切なものへの反応」にあたる可能性があるので、削除することをおすすめします。
- Teba_eleven
-
Scratcher
5 posts
Scratch APIに対して理解を深めるトピック
>> #219
エラー内容はわかっています。つまり、外部サイトからは取得できないということですか?
エラー内容はわかっています。つまり、外部サイトからは取得できないということですか?
- K-Orange
-
Scratcher
3 posts
Scratch APIに対して理解を深めるトピック
質問です。
ユーザーが、指定したユーザーをフォローしているか調べられるAPIはありますか?
(例えば、@32_tamagoが@k1o2oをフォローしているかどうか等)
ユーザーが、指定したユーザーをフォローしているか調べられるAPIはありますか?
(例えば、@32_tamagoが@k1o2oをフォローしているかどうか等)
- Catapult-
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
#228
で、そのユーザーがフォーローしているユーザーの情報の配列のJSONを、で、そのユーザーのフォロワーの情報の配列のJSONを取得できます。
ただし、limitは40以下でないと情報を返さないようになっているため、すべての情報から目的のユーザーを探す場合は40個刻みでループする必要があります。
https://api.scratch.mit.edu/users/<username>/following/?limit=<取得する個数><&offset=<何個目から取得するか>
https://api.scratch.mit.edu/users/<username>/followers/?limit=<取得する個数>&offset=<何個目から取得するか>
ただし、limitは40以下でないと情報を返さないようになっているため、すべての情報から目的のユーザーを探す場合は40個刻みでループする必要があります。
- kotau
-
Scratcher
34 posts
Scratch APIに対して理解を深めるトピック
APIを実行するときにcsrf検証に失敗してPOSTメソッドがほぼ使えないのですがcsrftokenはどうすればいいのですか?
- Sky_Thunder
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
#231
csrftokenはcookieを参照すれば見つかると思います。headersに以下のように加えれば大丈夫です。
(それでも解決しなかった場合は実際に確かめたいのでそのAPIのURLをここに送ってください。)
csrftokenはcookieを参照すれば見つかると思います。headersに以下のように加えれば大丈夫です。
"headers": {
"x-csrftoken": "tokenID"
}- kotau
-
Scratcher
34 posts
Scratch APIに対して理解を深めるトピック
POST https://scratch.mit.edu/site-api/comments/user/kotau/add/
body:{“content”:“test”,“parent_id”:“”,“commentee_id”:“”}
body:{“content”:“test”,“parent_id”:“”,“commentee_id”:“”}
- Sky_Thunder
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
removed by moderator - please don't discuss using scripts or bots on Scratch
Last edited by LittleGreyCells (May 21, 2023 15:21:15)
- kotau
-
Scratcher
34 posts
Scratch APIに対して理解を深めるトピック
removed by moderator - please don't discuss using scripts or bots on Scratch
ってでてる…
ってでてる…
- Sky_Thunder
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
#235
どうやらScratch Teamによって投稿が編集されたようです。
DeepL翻訳を使って翻訳すると、
とのことです。
一応javascriptの知識がある人にしか動かせないようにメゾッド部分を削除して投稿したのですが….
それでも駄目みたいですね

どうやらScratch Teamによって投稿が編集されたようです。
DeepL翻訳を使って翻訳すると、
モデレーターによって削除されました - Scratchでスクリプトやボットを使うことについて議論しないでください。
一応javascriptの知識がある人にしか動かせないようにメゾッド部分を削除して投稿したのですが….
それでも駄目みたいですね


- taNup0n
-
Scratcher
500+ posts
Scratch APIに対して理解を深めるトピック
調べてワからなかったから聞くが、
https://scratch.mit.edu/projects/417561335/
みたいな
APIから情報を読み込むようなプログラムはどうやってつくるんだ??
端的に教えていただきたい
https://scratch.mit.edu/projects/417561335/
みたいな
APIから情報を読み込むようなプログラムはどうやってつくるんだ??
端的に教えていただきたい
- ito-noizi
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
調べてワからなかったから聞くが、クラウド変数を外部で(JavaScriptなどの言語)リアルタイムで取得し、サーバーに保存していると考えられます。似たようなものを作るなら☁将棋オンラインも多分同じシステムでかなりわかりやすいのでこっちを参考にしたらどうでしょう?
https://scratch.mit.edu/projects/417561335/
みたいな
APIから情報を読み込むようなプログラムはどうやってつくるんだ??
端的に教えていただきたい
ちなみにプログラムは
1 https://clouddata.scratch.mit.edu/logs?projectid=プロジェクトID&limit=40&offset=0からJson形式でデータを取得
2 セッションIDなどクッキーの取得
3 PUTリクエストによるproject.jsonの書き換え
4 タスクスケジューラのようなものを使い、リアルタイムで行う
のような形で行います。2が一番難しいと思います。
P.S.
今回の場合はクラウド変数を外部から変更するという形でした。すみません。project.jsonの書き換えは再読み込みしないとできませんでした。
似てるのはこっちですね。
Last edited by ito-noizi (May 28, 2023 13:14:26)
- oligami
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
#237
#238 を呼んでの追記
githubにいい感じにscratchのAPIにアクセスするpythonのやつがある。scratchattachとか。定期的に動かすなら定番のcronとか使う(別にpythonのコードでいいと思うが)
ここら辺を鯖で実行して、クラウド変数で通信する。なお、クラウド変数ならかなり簡単に実装できると思う(実際にログインしているブラウザからはコード丸パクで直ぐに操作も取得もできた)(Puppeteerという単語にピンとこない人は素直にscratchattachとかを利用してください)
調べてワからなかったから聞くが、鯖立ててクラウド変数で通信するだけだと思う
https://scratch.mit.edu/projects/417561335/
みたいな
APIから情報を読み込むようなプログラムはどうやってつくるんだ??
端的に教えていただきたい
#238 を呼んでの追記
githubにいい感じにscratchのAPIにアクセスするpythonのやつがある。scratchattachとか。定期的に動かすなら定番のcronとか使う(別にpythonのコードでいいと思うが)
ここら辺を鯖で実行して、クラウド変数で通信する。なお、クラウド変数ならかなり簡単に実装できると思う(実際にログインしているブラウザからはコード丸パクで直ぐに操作も取得もできた)(Puppeteerという単語にピンとこない人は素直にscratchattachとかを利用してください)
Last edited by oligami (May 28, 2023 13:09:57)
- ito-noizi
-
Scratcher
100+ posts
Scratch APIに対して理解を深めるトピック
質問です。
あるプロジェクトのお気に入り、好きを押している人を取得する方法を教えて下さい。一応セッションIDなどcookieの発行や、Node.jsでGET、POSTリクエストなどを送る方法は知っています。
あるプロジェクトのお気に入り、好きを押している人を取得する方法を教えて下さい。一応セッションIDなどcookieの発行や、Node.jsでGET、POSTリクエストなどを送る方法は知っています。
Last edited by ito-noizi (June 11, 2023 07:35:29)