Folgen Sie einem Tutorial über die Verwendung von Requests
und für Web Scraping. Ich versuche, auf Informationen von www.showmyhomework.com
Website zuzugreifen, aber ich glaube, dass die Website OAuth2
Autorisierung verwendet. Leider behandelt das Tutorial nicht, wie dies mit Seiten mit OAuth2
zu tun ist. Habe Stunden damit verbracht, die OAuth2
Dokumentation zu lesen, kann aber nicht herausfinden, wie ich mein Python-Skript dazu bringen kann, ein Token anzufordern und Zugriff auf die Webseite zu bekommen. Das Python-Skript unten ist von der OAuth2
Dokumentation, aber ich mache eindeutig etwas falsch!Verwendung von requests_oauthlib für den Zugriff auf OAuth2 Webseite
from oauthlib.oauth2 import LegacyApplicationClient
from requests_oauthlib import OAuth2Session
client_Id = 'My_Google_supplied_OAuth2_Client_Id.apps.googleusercontent.com'
client_Secret = 'My_Google_supplied OAuth Client_Secret'
redirect_uri = 'https://your.callback/uri'
oauth = OAuth2Session(client=LegacyApplicationClient(client_id=client_Id))
token = oauth.fetch_token(token_url='https://www.showmyhomework.com/oauth2/token',
username="My_Username", password="My_Password", client_id=client_Id,
client_secret=client_Secret)
print(token)
ich diese Fehler als Antwort:
=================== RESTART: E:/Programs/Python27/Auth.py ===================
Traceback (most recent call last):
File "E:/Programs/Python27/Auth.py", line 11, in <module>
client_secret=client_Secret)
File "E:\Programs\Python27\lib\site-packages\requests_oauthlib\oauth2_session.py", line 244, in fetch_token
self._client.parse_request_body_response(r.text, scope=self.scope)
File "E:\Programs\Python27\lib\site-packages\oauthlib\oauth2\rfc6749\clients\base.py", line 409, in parse_request_body_response
self.token = parse_token_response(body, scope=scope)
File "E:\Programs\Python27\lib\site-packages\oauthlib\oauth2\rfc6749\parameters.py", line 376, in parse_token_response
validate_token_parameters(params)
File "E:\Programs\Python27\lib\site-packages\oauthlib\oauth2\rfc6749\parameters.py", line 386, in validate_token_parameters
raise MissingTokenError(description="Missing access token parameter.")
MissingTokenError: (missing_token) Missing access token parameter.
Warum müssen wir diese Flagge zuerst setzen? –