Python Yahoo OAuth Library. Supports OAuth1 and OAuth2. Gets data from function variables or file
Project description
Yahoo_OAuth_Fantasy is a very easy to use OAuth library for Yahoo! Fantasy APIs. (Based on https://github.com/josuebrunel/yahoo-oauth)
Installation
pip install yahoo_oauth_fantasy
Quickstart
Wether you use OAuth1 or OAuth2, only 2 parameters are required.
*consumer*key_
*consumer*secret_
You have two choices, you can either put those two into a file from_file. Only *json* and *yaml* files are supported
{
"consumer_key": "my_very_long_and_weird_consumer_key",
"consumer_secret": "my_not_that_long_consumer_secret"
}
or have them as a string variable from_string
cred_string = '{"consumer_key": "my_very_long_and_weird_consumer_key","consumer_secret": "my_not_that_long_consumer_secret"}'
Once you acquired your access_token, if you are using a file, it will save under the same name, and look like:
OAuth1
{
"access_token": "A=5ZnN5xXY5yKacQp1QtUF68MlEmXVIF8fRplkc7W1QMVYeLJ2DdBmNyH7SxVgUbAjdv5edCnk_DEUbfr6GpqezsSAuE9h36wfh.J45twIo1sA.bqMk7Bta6IisI9z1_h8D0QZzWYmjybxlQcuNgd7TY4nJuu_Afj_8ED787BQbjg6OqRotV.eM4_YyBCjP1K8G6rG44iX2PGNj.JSEJrocgvglABkTTVA_8t.JoLH7NHSgxCQXhakBsk3_K.6Rkgm_Nkc7.ZD02pYy3dJAfBh1fFvtrCwIOqDIplri305dZ1UY430X6SfPnZIFJNiTWkMH8_QRhcnfizG5TZugN_.0ib2VnnUzspeFT0_86p6WMP3uFOLYXspdEOryhSJwFJ3AHZN9n.t8euRQOxanpsvw5M5ffBs6P0dI5FijGw3fibbqoheJOSUE_BRUNEL_KOUKAJSsJCH(^_^)JHllHmJUptK9k5ifiqJOpTbodnW8EsyyNhthDOusv5Bp6142mvCPnC7HX7PkTodHqfgVyAUOvOqSsqMGyc65OY8roLORKpUWObw9bjd8YsU40jwSaGZtWmvVhYV9RxUA779bRuE1k0BL_fvXQ_tlZnxPhtIFBB64szQ9AwA9HT_nZKq8q1rOfUcBIZJ7Zu1jwpZUAOkHsfmHWCW2gK8BC4wjk0WuJg95FpZ2z741mhRcdma2bVYpdh3k2DdaBVYRTDT36Q4SBtreb_GNi1Mctg.RhSqopCTTvW4jjXAkt2SHnscUi37v0yo4JVex0cnVmVTFL7TRl1JMLl9jt0XmaLaKuS4nhR4A--",
"access_token_secret": "99a20a82e99THE_A_Tf803cb153f3d98",
"consumer_key": "dj0yJmk9e_THIS_IS_THE_CK_RGTnpZbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD1iNQ--",
"consumer_secret": "08802b459abTHIS_IS_THE_CS4b75789f7",
"guid": "AJHDHJMYGUID",
"session_handle": "APIENFXij.bjFW_MY_SESSION_EXn.4.DOIYOR37",
"token_time": 1433546792.343515
}
OAuth2
{
"access_token": "DELvMgOYvwPQJS8eFW_2hRN5rJxz6dnHAOk2s.qB0iMIeRg5.ZpW3xZF0p8CABLjZ2gfNdE602dCN2wTHdGHHLtChF3ls9BUuZ1QDdqIVq.yWclfweleyZSq6dAzlPEHiskWmfItjHK5VERY_LONG_ACCESS_TOKEN_oyyD4cIKvdNJsJ9k779mAUqN02_5ugBeDfCLebqjL8uVuunObew0ERa2MxE6jywNY0TTCe9W0nqTd6n0lKoN4PSP1Dw_Ifwx6enGuhUUAhhpa7nNMyhNy_pe6PfDf7IJ5gbkdtw3mD1o2T218ZTV0owdrKDLSF9oZrNvZ75xDlqaaI5yeW_.L63zk11PjsWUd5K8LGhWSTgRbyhffCDBcqVwTYEqHwCyVqHX4z2kgHhGsc0ies6WMG33kSw5Cgun0fnPbdDuHBgQziXU.GMv4hIDoIDMSLGpzpcpkyx4GS1CC_RUQwKxLilR3MQy7X2gI3cJA4lhRPlXEOdhS5HIQiQTgMWO9nWt7.RR7XtXVg-",
"consumer_key": "dj0yJmk9eFJINERDYWMY_CONSUMER_KEYmRGTnpZbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD1iNQ--",
"consumer_secret": "08802b459ab48eeaMY_CONSUMER_SECRET_0af6a4b75789f7",
"guid": "AJHDHJMYGUID",
"refresh_token": "APIENFXij.bjFW1tEcr2THE_REFRESH_TOKEN_Xn.4.DOIYOR37",
"token_time": 1433553339.706037,
"token_type": "bearer"
}
If you are using a string, you can call get_new_data to get a string with the information shown above.
With that you should be good to go.
Normally, once your got all that, you can *use the same credentials FOREVER*, you just have to *REFRESH THEM*.
Examples
OAuth1
from yahoo_oauth import OAuth1
oauth = OAuth1(None, None, from_file='oauth1.json')
...
if not oauth.token_is_valid():
oauth.refresh_access_token()
# Example
response = oauth.session.post(url, data=body)
OAuth2
from yahoo_oauth import OAuth2
oauth = OAuth2(None, None, from_file='oauth2.json')
...
if not oauth.token_is_valid():
oauth.refresh_access_token()
# Example
response = oauth.session.get(url, params=payload)
OAuth2 from String
from yahoo_oauth import OAuth2
cred_string = '{"consumer_key": "my_very_long_and_weird_consumer_key","consumer_secret": "my_not_that_long_consumer_secret"}'
oauth = OAuth2(None, None, from_string=cred_string)
...
if not oauth.token_is_valid():
oauth.refresh_access_token()
new_cred_string = oauth.get_new_data()
# Example
response = oauth.session.get(url, params=payload)
Tips
How to get your Global Unique Identifier (GUID) ```python from yahoo_oauth import OAuth2
oauth = OAuth2(‘consumer_key’, ‘consumer_secret’) guid = oauth.guid
```
How to disable Yahoo_OAuth Logger
import logging oauth_logger = logging.getLogger('yahoo_oauth') oauth_logger.disabled = True
Contribute
Any kind of contribution is welcomed.
report bug by opening an issue
Fork the repository
Make your changes
Test your changes
Submit a pull request
Let me know if any more updates are needed!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file yahoo_oauth_fantasy-0.1.0.tar.gz
.
File metadata
- Download URL: yahoo_oauth_fantasy-0.1.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
87537c55b3b2fe939a756a1e40e1fa6f5888fbd061c9a6b38faee99584123097
|
|
MD5 |
b7a1a926d2596fc54d57588145e5dfe4
|
|
BLAKE2b-256 |
a6bddd98e1a9c55d053a2a7eb36f524a10eda0e0ff8844146841388a948fb35d
|
File details
Details for the file yahoo_oauth_fantasy-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: yahoo_oauth_fantasy-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
5cac9bd1820d3722aecf3b54cd82b0821447856a54c4d7bc77fc019e78371b2e
|
|
MD5 |
c32511a14fdec8fb68eaf2c49a4b098d
|
|
BLAKE2b-256 |
48cfc9aa1f44fb1412d16aaadf727c1abe53cb89bc99d468ec10f76672ddb0ac
|