Wie bekomme ich Autorisierungs -Token über OAuth2 und lesen Sie Outlook -E -Mails über HTTP -Anfragen?Python

Python-Programme
Anonymous
 Wie bekomme ich Autorisierungs -Token über OAuth2 und lesen Sie Outlook -E -Mails über HTTP -Anfragen?

Post by Anonymous »

Ich habe meine E -Mails in Outlook abgerufen, indem ich nur Python -Anfragen verwendet habe, um den Endpunkt zu erhalten.

Code: Select all

import requests

requests.get('https://outlook.office365.com/api/v1.0/me/messages', auth=(email, pwd))
< /code>

Ich würde ein JSON -Objekt zurückbekommen, es durchziehen und den Inhalt meiner E -Mail erhalten. Aber jetzt hat Microsoft es veraltet und ich habe versucht, Microsoft Graph zu verwenden. Meine Frage ist, wie ich ein OAuth2 -Token erhalte, ohne einen Browser mit HTTP -Anfragen starten zu müssen? Jedes Beispiel, auf das ich stoße, muss ich immer eine Autorisierungs -URL besuchen, in der ich mich manuell durch eine vordere UI anmelden muss, die so aussieht:
[img]https://i.sstatic.net/UTv5X.png[/img]


Is there any way I can get the authorization code programatically? Ich habe auch versucht, den Auth -Parameter einzugeben, aber das hat nicht funktioniert.
Dies ist der Fehler, den ich erhalte: < /p>

  File "outlook_test.py", line 31, in 
token = oauth.fetch_token(token_url=token_url, auth=auth)
File "C:\Users\ryee\Documents\gitLabQA\QA_BDD\outlook_env\lib\site-packages\requests_oauthlib\oauth2_session.py", line 307, in fetch_token
self._client.parse_request_body_response(r.text, scope=self.scope)
File "C:\Users\ryee\Documents\gitLabQA\QA_BDD\outlook_env\lib\site-packages\oauthlib\oauth2\rfc6749\clients\base.py", line 415, in parse_request_body_response
self.token = parse_token_response(body, scope=scope)
File "C:\Users\ryee\Documents\gitLabQA\QA_BDD\outlook_env\lib\site-packages\oauthlib\oauth2\rfc6749\parameters.py", line 425, in parse_token_response
validate_token_parameters(params)
File "C:\Users\ryee\Documents\gitLabQA\QA_BDD\outlook_env\lib\site-packages\oauthlib\oauth2\rfc6749\parameters.py", line 432, in validate_token_parameters
raise_from_error(params.get('error'), params)
File "C:\Users\ryee\Documents\gitLabQA\QA_BDD\outlook_env\lib\site-packages\oauthlib\oauth2\rfc6749\errors.py", line 405, in raise_from_error
raise cls(**kwargs)
oauthlib.oauth2.rfc6749.errors.InvalidClientIdError: (invalid_request) AADSTS90014: The required field 'scope' is missing.
Trace ID: 2359d8a6-0140-43c1-8ff5-8103045d2f00
Correlation ID: dff39a1f-ffe1-493e-aea3-1536974b777d
< /code>

Ich habe es versucht, '[mail.read]' < /code> als Zielfernrohr, aber ich erhalte einen "ungültigen Scope -Parameter".from oauthlib.oauth2 import BackendApplicationClient
from requests.auth import HTTPBasicAuth
from requests_oauthlib import OAuth2Session
auth = HTTPBasicAuth(client_app_id, app_secret)
client = BackendApplicationClient(client_id=client_app_id)
oauth = OAuth2Session(client=client)
token = oauth.fetch_token(token_url=token_url, auth=auth)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post