見出し画像

VRChatAPI(Python)でuser-agentを設定する方法

概要

2024年3月前半にPythonでVRChatAPIを使用すると403Forbiddenが発生するようになった。
原因はuser_agentの値が不当であること。
対応方法としてuser_agentを設定する方法を示す。

対応方法

ApiClientインスタンスのuser_agentに正しいuser_agent名として "SunaFH/1.0.5" を設定する。

コード例

動作確認用のコード例を示す。
きもは「api_client.user_agent="SunaFH/1.0.5"」の部分です。
※このコードは認証からカレントユーザーの表示名取得までを実行する。

import vrchatapi
configuration = vrchatapi.Configuration(
    username = "ユーザー名",
    password = "パスワード",
)
configuration.api_key["authCookie"] = "auth=認証クッキー"
api_client = vrchatapi.ApiClient(configuration)
api_client.user_agent="SunaFH/1.0.5"  # ★ここでuser_agentを設定する★
auth_api = vrchatapi.api.authentication_api.AuthenticationApi(api_client)
current_user = auth_api.get_current_user()
print(current_user.display_name)

発生していたエラーについて

API実行時の例外が発生し、レスポンスボディとして下記が返される。

HTTP response body: {"error":{"message":""please identify yourself with a properly formatted user-agent containing application name, version and contact information. thank you!"","status_code":403,"waf_code":13799}}

メッセージの部分を翻訳すると「アプリケーション名、バージョン、および連絡先情報を含む、適切な形式のユーザーエージェントで身元を明らかにしてください!」

いいなと思ったら応援しよう!