Skip to main content

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.

  1. report bug by opening an issue

  2. Fork the repository

  3. Make your changes

  4. Test your changes

  5. Submit a pull request

Let me know if any more updates are needed!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yahoo_oauth_fantasy-0.1.0.tar.gz (10.0 kB view hashes)

Uploaded Source

Built Distribution

yahoo_oauth_fantasy-0.1.0-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page