- class praw.models.Auth(reddit: praw.Reddit, _data: dict[str, Any] | None)#
Auth provides an interface to Reddit’s authorization.
- __init__(reddit: praw.Reddit, _data: dict[str, Any] | None)#
reddit – An instance of
Complete the web authorization flow and return the refresh token.
code – The code obtained through the request to the redirect uri.
The obtained refresh token, if available, otherwise
The session’s active authorization will be updated upon success.
- implicit(*, access_token: str, expires_in: int, scope: str) None #
Set the active authorization to be an implicit authorization.
access_token – The access_token obtained from Reddit’s callback.
expires_in – The number of seconds the
access_tokenis valid for. The origin of this value was returned from Reddit’s callback. You may need to subtract an offset before passing in this number to account for a delay between when Reddit prepared the response, and when you make this function call.
scope – A space-delimited string of Reddit OAuth2 scope names as returned from Reddit’s callback.
- property limits: dict[str, str | int | None]#
Return a dictionary containing the rate limit info.
The keys are:
The number of requests remaining to be made in the current rate limit window.
A unix timestamp providing an upper bound on when the rate limit counters will reset.
The number of requests made in the current rate limit window.
All values are initially
Noneas these values are set in response to issued requests.
reset_timestampvalue is an upper bound as the real timestamp is computed on Reddit’s end in preparation for sending the response. This value may change slightly within a given window due to slight changes in response times and rounding.
- classmethod parse(data: dict[str, Any], reddit: praw.Reddit) Any #
Return an instance of
data – The structured data.
reddit – An instance of
- scopes() set[str] #
Return a set of scopes included in the current authorization.
For read-only authorizations this should return
- url(*, duration: str = 'permanent', implicit: bool = False, scopes: list[str], state: str) str #
Return the URL used out-of-band to grant access to your application.
duration – Either
"temporary"authorizations generate access tokens that last only 1 hour.
"permanent"authorizations additionally generate a refresh token that expires 1 year after the last use and can be used indefinitely to generate new hour-long access tokens. This value is ignored when
implicit – For installed applications, this value can be set to use the implicit, rather than the code flow. When
durationargument has no effect as only temporary tokens can be retrieved.
scopes – A list of OAuth scopes to request authorization for.
state – A string that will be reflected in the callback to
redirect_uri. This value should be temporarily unique to the client for whom the URL was generated for.