Skip to content

Commit 0b08f13

Browse files
author
root
committed
improvements
1 parent 34d3b23 commit 0b08f13

File tree

1 file changed

+79
-4
lines changed

1 file changed

+79
-4
lines changed

microsoftgraph/client.py

Lines changed: 79 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import requests
44
from microsoftgraph import exceptions
55
from microsoftgraph.decorators import token_required
6-
from urllib.parse import urlencode, urlparse
6+
from urllib.parse import urlencode, urlparse, quote_plus
77

88

99
class Client(object):
@@ -87,7 +87,7 @@ def exchange_code(self, redirect_uri, code, office365=False):
8787
response = requests.post(self.AUTHORITY_URL + self.account_type + self.TOKEN_ENDPOINT, data=data)
8888
return self._parse(response)
8989

90-
def refresh_token(self, redirect_uri, refresh_token, office365=True):
90+
def refresh_token(self, redirect_uri, refresh_token, office365=False):
9191
"""
9292
9393
Args:
@@ -114,7 +114,7 @@ def refresh_token(self, redirect_uri, refresh_token, office365=True):
114114
response = requests.post(self.AUTHORITY_URL + self.account_type + self.TOKEN_ENDPOINT, data=data)
115115
return self._parse(response)
116116

117-
def set_token(self, token, office365=True):
117+
def set_token(self, token, office365=False):
118118
"""Sets the Token for its use in this library.
119119
120120
Args:
@@ -463,6 +463,75 @@ def outlook_create_contact_folder(self, **kwargs):
463463
url = "{0}me/contactFolders".format(self.base_url)
464464
return self._post(url, **kwargs)
465465

466+
@token_required
467+
def drive_root_items(self, params=None):
468+
return self._get('https://graph.microsoft.com/beta/me/drive/root', params=params)
469+
470+
@token_required
471+
def drive_root_children_items(self, params=None):
472+
return self._get('https://graph.microsoft.com/beta/me/drive/root/children', params=params)
473+
474+
@token_required
475+
def drive_specific_folder(self, folder_id, params=None):
476+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/children".format(folder_id)
477+
return self._get(url, params=params)
478+
479+
@token_required
480+
def drive_create_session(self, item_id, **kwargs):
481+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/createSession".format(item_id)
482+
return self._post(url, **kwargs)
483+
484+
@token_required
485+
def drive_refresh_session(self, item_id, **kwargs):
486+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/refreshSession".format(item_id)
487+
return self._post(url, **kwargs)
488+
489+
@token_required
490+
def drive_close_session(self, item_id, **kwargs):
491+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/closeSession".format(item_id)
492+
return self._post(url, **kwargs)
493+
494+
def excel_get_worksheets(self, item_id, params=None):
495+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/worksheets".format(item_id)
496+
return self._get(url, params=params)
497+
498+
def excel_get_names(self, item_id, params=None):
499+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/names".format(item_id)
500+
return self._get(url, params=params)
501+
502+
def excel_add_worksheet(self, item_id, **kwargs):
503+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/worksheets/add".format(item_id)
504+
return self._post(url, **kwargs)
505+
506+
def excel_get_specific_worksheet(self, item_id, worksheet_id, **kwargs):
507+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/worksheets/{1}".format(item_id, quote_plus(worksheet_id))
508+
return self._get(url, **kwargs)
509+
510+
def excel_update_worksheet(self, item_id, worksheet_id, **kwargs):
511+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/worksheets/{1}".format(item_id, quote_plus(worksheet_id))
512+
return self._patch(url, **kwargs)
513+
514+
def excel_get_charts(self, item_id, worksheet_id, **kwargs):
515+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/worksheets/{1}/charts".format(item_id, quote_plus(worksheet_id))
516+
return self._get(url, **kwargs)
517+
518+
def excel_add_chart(self, item_id, worksheet_id, **kwargs):
519+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/worksheets/{1}/charts/add".format(item_id, quote_plus(worksheet_id))
520+
return self._post(url, **kwargs)
521+
522+
def excel_get_tables(self, item_id, **kwargs):
523+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/tables".format(item_id)
524+
return self._get(url, **kwargs)
525+
526+
def excel_add_table(self, item_id, **kwargs):
527+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/tables/add".format(item_id)
528+
return self._post(url, **kwargs)
529+
530+
def excel_add_row(self, item_id, worksheets_id, table_id, **kwargs):
531+
# url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/tables/{1}/rows".format(item_id, quote_plus(table_id))
532+
url = "https://graph.microsoft.com/beta/me/drive/items/{0}/workbook/worksheets/{1}/tables/{2}/rows".format(item_id, quote_plus(worksheets_id), quote_plus(table_id))
533+
return self._post(url, **kwargs)
534+
466535
def _get(self, url, **kwargs):
467536
return self._request('GET', url, **kwargs)
468537

@@ -479,14 +548,20 @@ def _delete(self, url, **kwargs):
479548
return self._request('DELETE', url, **kwargs)
480549

481550
def _request(self, method, url, headers=None, **kwargs):
551+
print("URL EN REQUEST")
552+
print(url)
553+
482554
_headers = {
483555
'Authorization': 'Bearer ' + self.token['access_token'],
484556
'Accept': 'application/json',
485557
'Content-Type': 'application/json'
486558
}
487559
if headers:
488560
_headers.update(headers)
489-
return self._parse(requests.request(method, url, headers=_headers, **kwargs))
561+
variable = requests.request(method, url, headers=_headers, **kwargs)
562+
print(variable.url)
563+
print(variable.request.headers)
564+
return self._parse(variable)
490565

491566
def _parse(self, response):
492567
status_code = response.status_code

0 commit comments

Comments
 (0)