|
23 | 23 |
|
24 | 24 | class Client(object): |
25 | 25 |
|
26 | | - def __init__(self, access_token): |
| 26 | + def __init__(self, client_id=None, client_secret=None, redirect_uri=None, access_token=None): |
| 27 | + self.code = None |
| 28 | + self.client_id = client_id |
| 29 | + self.redirect_uri = redirect_uri |
| 30 | + self.client_secret = client_secret |
27 | 31 | self._access_token = access_token |
28 | 32 |
|
29 | 33 | # Authorization |
30 | | - def get_authorization_url(self, client_id, redirect_uri): |
| 34 | + def get_authorization_url(self): |
31 | 35 | """ |
32 | 36 |
|
33 | | - :param client_id: |
34 | | - :param redirect_uri: |
35 | 37 | :return: |
36 | 38 | """ |
37 | | - params = {'client_id': client_id, 'redirect_uri': redirect_uri, 'response_type': 'code'} |
| 39 | + params = {'client_id': self.client_id, 'redirect_uri': self.redirect_uri, 'response_type': 'code'} |
38 | 40 | url = BASE_URL + AUTH_CODE + '?' + urlencode(params) |
39 | 41 | return url |
40 | 42 |
|
41 | | - def exchange_code(self, code, client_id, client_secret, redirect_uri): |
| 43 | + def exchange_code(self, code): |
42 | 44 | """ |
43 | 45 |
|
44 | 46 | :param code: |
45 | | - :param client_id: |
46 | | - :param client_secret: |
47 | | - :param redirect_uri: |
48 | 47 | :return: |
49 | 48 | """ |
50 | | - params = {'code': code, 'client_id': client_id, 'client_secret': client_secret, |
51 | | - 'redirect_uri': redirect_uri, 'grant_type': 'authorization_code'} |
52 | | - url = BASE_URL + ACCESS_TOKEN_URL + '?' + urlencode(params) |
53 | | - return self._post(url, data=params) |
| 49 | + params = {'code': code, 'client_id': self.client_id, 'client_secret': self.client_secret, |
| 50 | + 'redirect_uri': self.redirect_uri, 'grant_type': 'authorization_code'} |
| 51 | + url = BASE_URL + ACCESS_TOKEN_URL |
| 52 | + response = requests.post(url, data=params) |
| 53 | + if response.status_code == 200 and 'access_token' in response.text: |
| 54 | + return response.text |
| 55 | + else: |
| 56 | + return False |
54 | 57 |
|
55 | 58 | def refresh_token(self): |
56 | 59 | """ |
@@ -724,9 +727,9 @@ def _parse(self, response): |
724 | 727 | def get_error(self, error): |
725 | 728 | """ |
726 | 729 |
|
727 | | - :return: |
| 730 | + :return: |
728 | 731 | """ |
729 | | - error_code = error['error']['id'] |
| 732 | + error_code = error['error'] |
730 | 733 | error_message = error['message'] |
731 | 734 | if error_code == "1000": |
732 | 735 | raise BadRequestError(error_message) |
|
0 commit comments