-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mk:apiの第三引数にnullを使いたい(トークン無しでエンドポイントを叩けるようにしてほしい) #11495
Comments
Mk:apiはそのサーバーのAPIを叩くことを想定しているので、リモートのエンドポイントを叩けてしまうことがバグかも リモートサーバーのAPIを叩きたいユースケースがあるのであればそれ用の関数を新たに用意した方が良さそう |
ローカルで完結するプラグインならローカルのAPIが叩ければ問題無いですが、リモートの情報や自アカウントを絡めた動作を行いたい場合は必要になってくると思います。(例えば、投稿したノートを別のサーバーの自アカウントにRenoteさせるためのプラグインなど。この例はRenoteのためにトークンが必要ですが…) (※この挙動を見つけるまでは、ローカルで完結しない動作を行う場合はブラウザ拡張を作成するしかないと思っており、それは面倒だな…となっていました) |
将来的にPlayに権限を設定できるようになったら「外部との通信」の項目を入れてもいいかもしれませんね |
#11883 により目的が達成されなくなったのでCloseします。 |
Summary
Mk:api()
では第一引数にURLそのものを渡すことが出来るため、リモートのエンドポイントも叩くことが出来ますが、トークン情報はローカル用のものが付与されてしまうため、手動で上書きする必要があります。第二引数内に入力した
i
プロパティは無視されるため、第三引数にトークンを入れて上書きすることになりますが、ここで""
を渡すと空文字のトークンとして認識されて認証エラーに、null
を渡すと以下の部分により型エラーとなります。misskey/packages/frontend/src/scripts/aiscript/api.ts
Lines 35 to 40 in dc8a130
第三引数に
null
を渡すことが出来れば、credentialが不要なエンドポイントをトークン無しでそのまま叩けるようになるはずです。参考
第一引数でURLそのものを渡すことが出来る理由と思しき場所
misskey/packages/frontend/src/scripts/api.ts
Line 26 in dc8a130
null
を渡せばトークン無しで叩けると考える理由misskey/packages/frontend/src/scripts/api.ts
Lines 21 to 23 in dc8a130
追記:
ログアウト状態で
Mk:api()
を使った場合はtokenがnullになるようになっていました。misskey/packages/frontend/src/scripts/aiscript/api.ts
Line 43 in dc8a130
そのため、型チェックのところだけ修正出来れば対応出来そうですね…
The text was updated successfully, but these errors were encountered: