OAuthメソッドを使用してすべてを切り替えようとしていますが、Discourseがリストの最後です。
機能として完了したいこと:
- ユーザーページに表示する公開/非公開のユーザーフィールドを、ユーザーについてどのように作成できますか?たとえば、誰でも表示できる「グループランク」と、管理者とモデレーターのみが表示できる「Discord ID」(APIも)のようなものです。
また、Quartを使用してPythonでこれをどのように実装できますか?これは私がプログラムしたコードですが、ドキュメントにはDiscourseにデータを渡す方法や、ユーザーフィールドを含める方法、そしてユーザーが編集できないようにする方法について非常に不明瞭です。
from quart import Quart, redirect, request
from rblxopencloud import OAuth2App, Group
from roblox import RobloxUser
oauth_app = OAuth2App("ROBLOX_APP_ID", "ROBLOX_APP_SECRET", "ROBLOX_APP_REDIRECT")
app = Quart(__name__)
@app.route("/")
async def authentication_verify():
return redirect(oauth_app.generate_uri(["openid", "profile"]))
@app.route("/authentication/redirect")
async def authentication_redirect():
roblox_info = oauth_app.exchange_code(request.args.get('code'))
group_member: Group = RobloxUser.fetch_member(roblox_info.user, 4800717)
group_rank = "Test Subject"
if group_member != None:
group_rank = group_member.fetch_role().name
discord_id = "this-will-pull-from-my-db"
return {
"permalink": roblox_info.user.username,
"username": roblox_info.user.username,
"uri": roblox_info.user.profile_uri,
"avatar_url": roblox_info.user.generate_headshot(size=420, format="jpeg", is_circular=True),
# これらはユーザーフィールド(公開または非公開)にしたいです
"group_rank": group_rank, # 公開ユーザーフィールド
"discord_id": discord_id, # 非公開ユーザーフィールド
"roblox_id": roblox_info.user.id, # 非公開ユーザーフィールド
}
app.run(host="host-ip-here", port=0000)
