Discuss Scratch

hokuto_sitisei
Scratcher
29 posts

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

gasを今やっているんですが、scratchとつなげたい(gasのプログラムをScratch上で動かしたい)と思っています
つなげることはできるんですか? やり方がわからないので教えていただきたいです。
プログラミング初心者なのでこれまでの投稿をみても理解が追いつかないところがあります。
詳しく教えて頂きたいです。

あと、質問する場所ここであってますか?
kouryou118103
Scratcher
1000+ posts

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

GASでScratchを操作するのは難しいですが、Scratchのapiを表示するだけなら比較的簡単にできると思います。
具体的にやりたいことがあるならもう一度質問してください。
tabakenn
Scratcher
100+ posts

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

#281, #282

hokuto_sitisei wrote:

(略)(gasのプログラムをScratch上で動かしたい)(略)
なので相当難しそう…??

Last edited by tabakenn (Dec. 6, 2023 13:16:55)

hokuto_sitisei
Scratcher
29 posts

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

なるほど… Scratchとつなげるのは諦めます。

Scratchからは離れてしまいますが、GASでどんなものを作れば良いとかありますか?
スプレッドシートでテトリスって作れたりしますか?
ito-noizi
Scratcher
100+ posts

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

hokuto_sitisei wrote:

スプレッドシートでテトリスって作れたりしますか?
それはScratchとは関係ない話題です。このトピックで行うべきではないです。
hokuto_sitisei
Scratcher
29 posts

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

すみませんでした
kouhei-1
Scratcher
1000+ posts

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

GET https://api.scratch.mit.edu/projects/count/all
をしようとしたのですが応答が返ってきません。
他のGET APIではできたのですが…。
ito-noizi
Scratcher
100+ posts

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

#287
実際にそのページに飛べばわかると思いますが、それは、調べるのに時間がかかる、scratch全体のプロジェクトの合計を調べるAPIなので、タイムアウトしがちです。
honnkon
Scratcher
62 posts

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

APIはちょっと初心者なので、基本的なことを聞きます。
csrftokenは何ですか?(よく使われるけどよくわかんない+他人のコードを見て見よう見まねしてコードを書いてるからわかっていない現状)
こんな人がこの輪に入っていいのだろうか

Last edited by honnkon (Dec. 12, 2023 06:12:53)

newmomizi_txt
Scratcher
1000+ posts

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

#289
まず「CSRF」(クロスサイトリクエストフォージェリ)について知る必要があります。
調べれば色々と情報は出てくると思うので、詳細は省きます。

CSRFが発生してしまう原因は、ユーザーが手動で意図的に行った操作なのか、それとも第三者によって意図された不正なリクエストなのかを区別できないことです。これを防ぐためにcsrftokenがあり、正しいトークンがないとリクエストを受け付けないようになっています。

なお、csrftokenはcookieに保存されています。
yu-yu0202
Scratcher
100+ posts

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

フォロワー数を取得する公式APIってありますか?
kouryou118103
Scratcher
1000+ posts

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

公式のAPIは聞いたことがありませんが、(開発者ツールを開いてみたけど見つからなかった)
GET https://scratchstats.com/api2/userstats/griffpatch
こういうのは発見(メモから見つけてきた)しました。
tabakenn
Scratcher
100+ posts

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

https://api.scratch.mit.edu/users/yu-yu0202/followers
これを数えればできます…一応(全部表示されているかは確認してない

嘘でした。すみません。
https://api.scratch.mit.edu/users/griffpatch/followers
↑何千も表示されなかった

さらに嘘でした。申し訳ないです。
https://api.scratch.mit.edu/users/yu-yu0202/followers?offset=205
のようにしてoffset を増やしていけば総人数が分かります

やっぱり嘘でした。
削除されたアカウントもAPI では含まれるようなのでダメでした

Last edited by tabakenn (Dec. 12, 2023 11:23:33)

ito-noizi
Scratcher
100+ posts

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

もっとわかりやすく、このページを見るとわかるように、
https://scratch.mit.edu/users/ユーザー名/followers/
の「box-head h2」で、「()()」に囲われている部分がフォロワー数です。
半角でした
また、#292 のデータのもとになっているのはScratchDBなので、このページ(外部リンク)の「statistics.followers」で直接取得できます。

Last edited by ito-noizi (Dec. 12, 2023 11:15:27)

yu-yu0202
Scratcher
100+ posts

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

#292~294
ありがとうございます。使ってみます。
yu-yu0202
Scratcher
100+ posts

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

ScracthClientで、クラウド変数を変更するときは
session = ScratchSession(username="name",password="PW",session_id="ID",token="csrf")
connection = session.create_cloud_connection(プロジェクトID)
connection.set_cloud_variable("名前","値")
connection.on("set")
ですよね?これも合ってるかどうか分からない()
で、その
connection.on("set")
の“set”には何を入れればいいですか?
tabakenn
Scratcher
100+ posts

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

from scratchclient import ScratchSession

session = ScratchSession(“griffpatch”, “SecurePassword7”)

connection = session.create_cloud_connection(450216269)

connection.set_cloud_variable(“variable name”, 5000)

@connection.on(“set”)
def on_set(variable):
print(variable.name, variable.value)

print(connection.get_cloud_variable(“other variable”))
公式にこう載ってるので、そのまま使ってみるとか?? (僕はよくわかりません。
tabakenn
Scratcher
100+ posts

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

分かりました
# This means that the `on_set` function will run every time someone else changes a cloud variable.
と書いてあるので直訳して、
誰かがクラウド変数を変更するたびに `on_set` 関数が実行されるようにする機能らしいです。
yu-yu0202
Scratcher
100+ posts

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

#298
なるほど。ありがとうございます。
honnkon
Scratcher
62 posts

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

もうすでに出ていたらすみませんが、
https://api.scratch.mit.edu/users/sosuuzuki は表示できます(2023//12/23 10:40現在)が、
https://scratch.mit.edu/users/sosuuzuki は404で表示できない(上に同じ時間)できないのは、
(アカウントを削除したという話で進めます)削除したとしてもapiとかのデータはそのまま残るということでしょうか。
https://api.scratch.mit.edu/users/sosuuzuki/messages/count も出るので裏で未読メッセージのカウントやメッセージの追加がされているはずです。
My browser / operating system: Windows NT 10.0, Chrome 120.0.0.0, No Flash version detected

#290
ありがとうございます。なりすましがかんたんにできると大変ですね(Googleサイトの会話所でめちゃくちゃ簡単になりすましができるように作ってる自分が言ってはいけない)

Last edited by honnkon (Dec. 23, 2023 01:50:37)

Powered by DjangoBB