| 1 | #!./fflogs/bin/python |
| 2 | from gql import Client, gql |
| 3 | from gql.transport.aiohttp import AIOHTTPTransport |
| 4 | import requests |
| 5 | from secrets import * |
| 6 | |
| 7 | res = requests.post( |
| 8 | "https://www.fflogs.com/oauth/token", |
| 9 | data={"grant_type": "client_credentials"}, |
| 10 | auth=(client_id, client_secret) |
| 11 | ) |
| 12 | token = res.json()['access_token'] |
| 13 | headers = {'Authorization': f"Bearer {token}"} |
| 14 | |
| 15 | transport = AIOHTTPTransport(url="https://www.fflogs.com/api/v2/client", headers=headers) |
| 16 | |
| 17 | client = Client(transport=transport, fetch_schema_from_transport=True) |
| 18 | |
| 19 | query = gql( |
| 20 | ''' |
| 21 | query ($name: String!, $serverSlug: String!, $serverRegion: String!) { |
| 22 | characterData { |
| 23 | character ( |
| 24 | name: $name |
| 25 | serverSlug: $serverSlug |
| 26 | serverRegion: $serverRegion |
| 27 | ) |
| 28 | { |
| 29 | canonicalID |
| 30 | name |
| 31 | cloudRanks: encounterRankings (encounterID: 73) |
| 32 | dogRanks: encounterRankings (encounterID: 74) |
| 33 | thanRanks: encounterRankings (encounterID: 75) |
| 34 | boobaRanks: encounterRankings (encounterID: 76) |
| 35 | gaiaRanks: encounterRankings (encounterID: 77) |
| 36 | } |
| 37 | } |
| 38 | } |
| 39 | ''' |
| 40 | ) |
| 41 | params = { |
| 42 | "name": f"{name}", |
| 43 | "serverSlug": f"{serverSlug}", |
| 44 | "serverRegion": "na", |
| 45 | } |
| 46 | result = client.execute(query, variable_values=params) |
| 47 | print(result['characterData']['character']['cloudRanks']['ranks'][0]['report']) |
| 48 | print(result['characterData']['character']['dogRanks']['ranks'][0]['report']) |
| 49 | print(result['characterData']['character']['thanRanks']['ranks'][0]['report']) |
| 50 | print(result['characterData']['character']['boobaRanks']['ranks'][0]['report']) |
| 51 | print(result['characterData']['character']['gaiaRanks']['ranks'][0]['report']) |