Skip to content

Commit cb6bf2f

Browse files
authored
Improve examples (#20)
* Improve examples * Update user agent
1 parent 64d31be commit cb6bf2f

File tree

6 files changed

+48
-19
lines changed

6 files changed

+48
-19
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ configuration = vrchatapi.Configuration(
4444
# Enter a context with an instance of the API client
4545
with vrchatapi.ApiClient(configuration) as api_client:
4646
# Set our User-Agent as per VRChat Usage Policy
47-
api_client.user_agent = "MyProject/1.0 my@email.com"
47+
api_client.user_agent = "ExampleProgram/0.0.1 my@email.com"
4848

4949
# Instantiate instances of API classes
5050
auth_api = authentication_api.AuthenticationApi(api_client)

examples/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ configuration = vrchatapi.Configuration(
2121
# Enter a context with an instance of the API client
2222
with vrchatapi.ApiClient(configuration) as api_client:
2323
# Set our User-Agent as per VRChat Usage Policy
24-
api_client.user_agent = "MyProject/1.0 my@email.com"
24+
api_client.user_agent = "ExampleProgram/0.0.1 my@email.com"
2525

2626
# Instantiate instances of API classes
2727
auth_api = authentication_api.AuthenticationApi(api_client)
@@ -68,7 +68,7 @@ configuration = vrchatapi.Configuration(
6868
)
6969

7070
with vrchatapi.ApiClient(configuration) as api_client:
71-
api_client.user_agent = "MyProject/1.0 my@email.com"
71+
api_client.user_agent = "ExampleProgram/0.0.1 my@email.com"
7272
auth_api = authentication_api.AuthenticationApi(api_client)
7373

7474
try:
@@ -121,7 +121,7 @@ from vrchatapi.api.worlds_api import WorldsApi
121121

122122
# We don't add a configuration file/set a username and password
123123
with vrchatapi.ApiClient() as api_client:
124-
api_client.user_agent = "MyProject/1.0 my@email.com"
124+
api_client.user_agent = "ExampleProgram/0.0.1 my@email.com"
125125

126126
# We don't use the authentication API at all, since we don't need to
127127
world_api = WorldsApi(api_client)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import vrchatapi
2+
from http.cookiejar import Cookie
3+
4+
from vrchatapi.api import authentication_api
5+
6+
7+
def make_cookie(name, value):
8+
return Cookie(0, name, value,
9+
None, False,
10+
"api.vrchat.cloud", True, False,
11+
"/", False,
12+
False,
13+
173106866300,
14+
False,
15+
None,
16+
None, {})
17+
18+
19+
configuration = vrchatapi.Configuration(
20+
username='username',
21+
password='password',
22+
)
23+
24+
with vrchatapi.ApiClient(configuration) as api_client:
25+
api_client.user_agent = "ExampleProgram/0.0.1 my@email.com"
26+
api_client.rest_client.cookie_jar.set_cookie(
27+
make_cookie("auth", "[AUTH_COOKIE_HERE]"))
28+
api_client.rest_client.cookie_jar.set_cookie(
29+
make_cookie("twoFactorAuth", "[TWO_FACTOR_AUTH_COOKIE_HERE]"))
30+
31+
auth_api = authentication_api.AuthenticationApi(api_client)
32+
current_user = auth_api.get_current_user()
33+
print("Logged in as:", current_user.display_name)

examples/examples-source/use_the_api.py renamed to examples/examples-source/cookies_store.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,13 @@
44
from vrchatapi.models.two_factor_auth_code import TwoFactorAuthCode
55
from vrchatapi.models.two_factor_email_code import TwoFactorEmailCode
66

7-
# We import the class that corrisponds to the section of the API we want to use
8-
from vrchatapi.api.worlds_api import WorldsApi
9-
107
configuration = vrchatapi.Configuration(
11-
username = 'username',
12-
password = 'password',
8+
username='username',
9+
password='password',
1310
)
1411

1512
with vrchatapi.ApiClient(configuration) as api_client:
16-
api_client.user_agent = "MyProject/1.0 my@email.com"
13+
api_client.user_agent = "ExampleProgram/0.0.1 my@email.com"
1714
auth_api = authentication_api.AuthenticationApi(api_client)
1815

1916
try:
@@ -30,8 +27,7 @@
3027
except vrchatapi.ApiException as e:
3128
print("Exception when calling API: %s\n", e)
3229

30+
cookie_jar = api_client.rest_client.cookie_jar._cookies["vrchat.com"]["/"]
3331
print("Logged in as:", current_user.display_name)
34-
35-
# Now we are logged in, we can init and use the API class :)
36-
worlds_api = WorldsApi(api_client) # All API section classes require an ApiClient object to be passed!
37-
active_worlds = worlds_api.get_active_worlds()
32+
print("auth: " + cookie_jar["auth"].value)
33+
print("twoFactorAuth: " + cookie_jar["twoFactorAuth"].value)

examples/examples-source/login.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from vrchatapi.models.two_factor_email_code import TwoFactorEmailCode
77

88
configuration = vrchatapi.Configuration(
9-
username = 'username',
10-
password = 'password',
9+
username='username',
10+
password='password',
1111
)
1212

1313
# Step 2. VRChat consists of several API's (WorldsApi, UsersApi, FilesApi, NotificationsApi, FriendsApi, etc...)
@@ -16,7 +16,7 @@
1616
# Enter a context with an instance of the API client
1717
with vrchatapi.ApiClient(configuration) as api_client:
1818
# Set our User-Agent as per VRChat Usage Policy
19-
api_client.user_agent = "MyProject/1.0 my@email.com"
19+
api_client.user_agent = "ExampleProgram/0.0.1 my@email.com"
2020

2121
# Instantiate instances of API classes
2222
auth_api = authentication_api.AuthenticationApi(api_client)
@@ -38,4 +38,4 @@
3838
except vrchatapi.ApiException as e:
3939
print("Exception when calling API: %s\n", e)
4040

41-
print("Logged in as:", current_user.display_name)
41+
print("Logged in as:", current_user.display_name)

examples/examples-source/noauth.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
# We don't add a configuration file/set a username and password
77
with vrchatapi.ApiClient() as api_client:
8-
api_client.user_agent = "MyProject/1.0 my@email.com"
8+
api_client.user_agent = "ExampleProgram/0.0.1 my@email.com"
99

1010
# We don't use the authentication API at all, since we don't need to
1111
world_api = WorldsApi(api_client)

0 commit comments

Comments
 (0)