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