-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaccess_token_meli.py
35 lines (31 loc) · 1.48 KB
/
access_token_meli.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import csv
from mercadolibre.client import Client
class AccessToken:
def __init__(self, client_id, client_secret, site):
self.client_id = client_id
self.client_secret = client_secret
self.site = site
self.client = Client(client_id, client_secret, self.get_token("refresh_token"), site=site)
# Save token to csv file
def add_token(self, access_token, refresh_token):
with open("tokens.csv", "w", newline = "\n") as tokens_database:
writer = csv.DictWriter(tokens_database, fieldnames = ["token", "id"])
writer.writerow({"token":"access_token", "id":access_token})
writer.writerow({"token":"refresh_token", "id":refresh_token})
...
print("Tokens added to database")
# Get token from csv file
def get_token(self, token):
with open("tokens.csv") as tokens_database:
tokens_database_reader = dict(filter(None, csv.reader(tokens_database)))
return tokens_database_reader[token]
# Generate access token
def get_access_token(self):
try:
new_access_token = self.client.refresh_token()
print("New access token: {access_token}".format(access_token = new_access_token["access_token"]))
self.add_token(new_access_token["access_token"], new_access_token["refresh_token"])
print("Access token successfully generated!")
except KeyError:
print("Unable to generate token")
return False