Awesome
PSN API
<img src="http://vignette1.wikia.nocookie.net/logopedia/images/7/7e/PlayStation_Network.png/revision/latest?cb=20110901131500" height="50">This is a python wrapper for the PSN API.
Read the wiki and previous issues before opening a new one! Maybe your issue is already answered.
Do you like this project? Support it by donating
- Paypal: Donate
- Bitcoin: 1DCEpC9wYXeUGXS58qSsqKzyy7HLTTXNYe
How to get refresh token
Sony is using reCaptcha now. There is no way to do this authentication via the Script at this time. So we have worked around the authentication issue by doing the following.
- From the PSN Website or App or Console Enable 2 Step Verification
- Go to https://www.bungie.net/en/User/SignIn/Psnid?code=000000 Enter your credentials, Solve the reCaptcha, and when you get the
ENTER Verification Code
screen take a look at the URL in your browser. Collect the following ID:ticket_uuid=b7aeb485-xxxx-4ec2-zzzz-0f23bcee5bc5&layout_type=......
DO NOT ENTER THE VERIFICATION CODE - From the API
auth = Auth('YOUR EMAIL', 'YOUR PASSWORD', b7aeb485-xxxx-4ec2-zzzz-0f23bcee5bc5, 'verification_code_you_got_on_your_phone)
tokens = auth.get_tokens()
print(tokens)
-
Save the
refresh
andnpsso
values from the output -
From now on you can authenticate (Refresh your tokens) instead of re-authenticating every time.
Like this:
new_token_pair = Auth.GrabNewTokens(refresh_token)
tokens = {
"oauth": new_token_pair[0],
"refresh": new_token_pair[1],
"npsso": npsso # saved above!
}
friend = Friend(tokens)
friend_list = friend.my_friends()
Note: Check obtain_tokens.py
Features
- Login to PSN
- Get user information
- View and manage your friends list
- Manage and send messages through PSN (This feature does not work at the moment).
TODO
- View trophies and trophies for a specific game
- Create, manage and view communities
Legal
This code is in no way affiliated with, authorized, maintained, sponsored or endorsed by PlayStation or any of its affiliates or subsidiaries. This is an independent and unofficial API. Use at your own risk.