Skip to content

Commit 131f4c0

Browse files
committed
Add samples
1 parent c51407c commit 131f4c0

File tree

3 files changed

+52
-3
lines changed

3 files changed

+52
-3
lines changed

msgraphcore/middleware/authorization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def __init__(self, auth_provider: AuthProviderBase):
1111
self.retry_count = 0
1212

1313
def send(self, request, **kwargs):
14-
options = self._get_middleware_options(request)
14+
options = self._get_middleware_options()
1515
if options:
1616
self.auth_provider.scopes = options.scopes
1717

msgraphcore/middleware/options/middleware_control.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ def get_middleware_options(self, func):
1616
self._reset_middleware_options()
1717

1818
def wrapper(*args, **kwargs):
19-
scopes = kwargs.pop('scopes')
20-
self.set(AUTH_MIDDLEWARE_OPTIONS, AuthMiddlewareOptions(scopes))
19+
scopes = kwargs.pop('scopes', None)
20+
if scopes:
21+
self.set(AUTH_MIDDLEWARE_OPTIONS, AuthMiddlewareOptions(scopes))
2122
return func(*args, **kwargs)
2223
return wrapper
2324

samples/samples.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import json
2+
from pprint import pprint
3+
4+
from azure.identity import InteractiveBrowserCredential
5+
from msgraphcore.middleware.authorization import TokenCredentialAuthProvider
6+
7+
from msgraphcore import GraphSession
8+
9+
browser_credential = InteractiveBrowserCredential(client_id='YOUR_CLIENT_ID')
10+
auth_provider = TokenCredentialAuthProvider(browser_credential)
11+
graph_session = GraphSession(auth_provider)
12+
13+
14+
def post_sample():
15+
body = {
16+
'message': {
17+
'subject': 'Python SDK Meet for lunch?',
18+
'body': {
19+
'contentType': 'Text',
20+
'content': 'The new cafeteria is open.'
21+
},
22+
'toRecipients': [
23+
{
24+
'emailAddress': {
25+
'address': '[email protected]'
26+
}
27+
}
28+
]}
29+
}
30+
31+
result = graph_session \
32+
.post('/me/sendMail',
33+
data=json.dumps(body),
34+
scopes=['mail.send'],
35+
headers={'Content-Type': 'application/json'}
36+
)
37+
pprint(result.status_code)
38+
39+
40+
def get_sample():
41+
result = graph_session.get('/me/messages', scopes=['mail.read'])
42+
pprint(result.json())
43+
44+
45+
if __name__ == '__main__':
46+
post_sample()
47+
get_sample()
48+

0 commit comments

Comments
 (0)