Open ThinaticSystem opened 2 years ago
Misskey組み込みのAiScript関数としてJavaScriptのFetch APIのようなHTTPリクエストをしてリソースを取得するAPIがほしいです。 AiScriptからHTTPリクエストを送ることができれば、REST APIを叩いて取得したデータをAiScriptで利用することなどができるようになります。 またウィジェットにIoT家電を操作するボタンを置くなどの一般ユーザー向けの活用も考えられます。
REST APIを使うことを考えた際に、現状のAiScript on MisskeyではMisskeyのブラウジングコンテキスト内で直接外部のAPIをリクエストすることはできません。裏技としてPlugin:open_url(url)でブラウザー別タブからAPIのエンドポイントを開くことでGETリクエストのみ送信することが可能ですが、返ってきた値をAiScriptで利用することはできませんし「別タブでAPIレスポンスが表示される」→「タブを閉じてMisskeyに戻る」のはユーザビリティーの観点からちょっぴり微妙です。 そのためデータを取得するAPIとしてFetch APIのようなものがあれば素敵だと思います。
Plugin:open_url(url)
現在ほにクラブで試験的に動かしているものでMk:fetch()として以下の実装があります。 https://github.com/ThinaticSystem/honisskey/pull/71
Pagesとかで実行できると、Pagesにアクセスしたユーザーの情報をMk:apiで取得して任意のサーバーに転送とかできてしまいそうなので、実行できる範囲を指定したほうがいいのではと思います
Mk:api
(例えばPlugin:open_urlはプラグインでしか実行できない)
Plugin:open_url
Summary
Misskey組み込みのAiScript関数としてJavaScriptのFetch APIのようなHTTPリクエストをしてリソースを取得するAPIがほしいです。
AiScriptからHTTPリクエストを送ることができれば、REST APIを叩いて取得したデータをAiScriptで利用することなどができるようになります。
またウィジェットにIoT家電を操作するボタンを置くなどの一般ユーザー向けの活用も考えられます。
REST APIを使うことを考えた際に、現状のAiScript on MisskeyではMisskeyのブラウジングコンテキスト内で直接外部のAPIをリクエストすることはできません。裏技として
Plugin:open_url(url)
でブラウザー別タブからAPIのエンドポイントを開くことでGETリクエストのみ送信することが可能ですが、返ってきた値をAiScriptで利用することはできませんし「別タブでAPIレスポンスが表示される」→「タブを閉じてMisskeyに戻る」のはユーザビリティーの観点からちょっぴり微妙です。そのためデータを取得するAPIとしてFetch APIのようなものがあれば素敵だと思います。
現在ほにクラブで試験的に動かしているものでMk:fetch()として以下の実装があります。
https://github.com/ThinaticSystem/honisskey/pull/71