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
Hashes for yahoo_oauth_fantasy-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87537c55b3b2fe939a756a1e40e1fa6f5888fbd061c9a6b38faee99584123097 |
|
MD5 | b7a1a926d2596fc54d57588145e5dfe4 |
|
BLAKE2b-256 | a6bddd98e1a9c55d053a2a7eb36f524a10eda0e0ff8844146841388a948fb35d |
Hashes for yahoo_oauth_fantasy-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cac9bd1820d3722aecf3b54cd82b0821447856a54c4d7bc77fc019e78371b2e |
|
MD5 | c32511a14fdec8fb68eaf2c49a4b098d |
|
BLAKE2b-256 | 48cfc9aa1f44fb1412d16aaadf727c1abe53cb89bc99d468ec10f76672ddb0ac |