病院でもらってきて薬を飲んだところとても眠いが、胸にひっかかる感じがあったのは改善された。
仕事
スプラトゥーン
「Question - Pulling Splatoon2 related data from the Nintendo Switch Online app | GBAtemp.net - The Independent Video Game Community」でイカリング2にアクセスするためのコードが書かれていた。
#!/usr/bin/env python3 import logging import requests import json import sys import http.client as http_client http_client.HTTPConnection.debuglevel = 1 logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True def main(): client_id = "xxxxxxxxxxxx" resource_id = 123456789 init_session_token = "eyJhbGci.....Wq2Q" session = requests.Session() response = session.post('https://accounts.nintendo.com/connect/1.0.0/api/token', headers={'Accept': 'application/json'}, json={ "client_id": client_id, "grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer-session-token", "session_token": init_session_token}) api_tokens = response.json() #print(json.dumps(response.json(),indent=4)) response = session.post('https://api-lp1.znc.srv.nintendo.net/v1/Account/GetToken', headers={'Accept': 'application/json', 'Authorization': "Bearer " + api_tokens["access_token"]}, json={"parameter": { "language": 'null', "naBirthday": 'null', "naCountry": 'null', "naIdToken": api_tokens["id_token"] } }) tokens = response.json()["result"] #print(json.dumps(response.json(),indent=4)) response = session.post('https://api-lp1.znc.srv.nintendo.net/v1/Game/GetWebServiceToken', headers={'Accept': 'application/json', 'Authorization': "Bearer "+tokens["webApiServerCredential"]["accessToken"]}, json={"parameter": {"id": resource_id}} ) res_json = response.json() if res_json["status"] != 0: logging.error(json.dumps(res_json,indent=4)) raise RuntimeError("initial auth failed") access_token = res_json["result"]["accessToken"] # get the cookie setup response = session.get("https://app.splatoon2.nintendo.net/?lang=ja-JP", headers={'Accept': 'application/json', 'X-gamewebtoken': access_token}) # now we can rock'n'roll response = session.get('https://app.splatoon2.nintendo.net/api/schedules', headers={'accept': 'application/json'}) print(json.dumps(response.json(), indent=4))
pythonを動かす環境がないので上記のコードは試せていない。
client_idは固定だから良いとして、resource_idはどこから発生するものなのか不明。
resource_idはhttps://app.splatoon2.nintendo.net/2.0.0/users/me
で返ってくるjsonに含まれている情報のようだ。