【问题标题】:Yahoo Fantasy Sports API Oauth Verifier Not AvailableYahoo Fantasy Sports API Oauth 验证程序不可用
【发布时间】:2015-06-23 13:47:35
【问题描述】:

我正在尝试在 Python 中创建一个程序,该程序使用来自 Yahoo Fantasy Sports API 的数据(具体来说是足球)。我已经在 Yahoo Developer Network 上注册了一个桌面应用程序,以便获得使用 OAuth 的权限。我还获得了正确的 url、客户端密钥和客户端密码以及运行程序所需的其他信息。

目前,我正在使用这个网站作为资源:https://requests-oauthlib.readthedocs.org/en/latest/oauth1_workflow.html

我设法完成了获取请求令牌阶段**,但现在卡在**授权阶段,需要我获得一个oauth令牌和我相信的oauth验证器强>。

但是,我只能接收 oauth 令牌,而且我调用的方法根本不返回 oauth 验证程序,因此无法继续进行 访问令牌步骤。我只是在寻找一些可能性来解释为什么会这样。

谢谢。

import csv
import requests
import sys
import time
import webbrowser
from oauth_hook import OAuthHook
from requests_oauthlib import OAuth1Session
from requests_oauthlib import OAuth1
from urlparse import parse_qs



access_token_url = "https://api.login.yahoo.com/oauth/v2/get_token"
request_token_url = "https://api.login.yahoo.com/oauth/v2/get_request_token"
base_authorization_url = "https://api.login.yahoo.com/oauth/v2/request_auth"
callback_URL = "auto-manager.com"

client_key =  ".."  #can't reveal actual client stuff here

client_secret = ".."

#get request token
oauth = OAuth1Session(client_key,client_secret=client_secret)
print oauth
fetch_response = oauth.fetch_request_token(request_token_url)
resource_owner_key = fetch_response.get('oauth_token')
resource_owner_secret = fetch_response.get('oauth_token_secret')

print fetch_response

print resource_owner_key
print resource_owner_secret

# get authorization, returns no verifier but returns a token for some reason, PROBLEM's here
authorization_url = oauth.authorization_url(base_authorization_url)
print 'please go here and authorize,', authorization_url
redirect_response = raw_input('Paste full redirect URL here: ')
oauth_response = oauth.parse_authorization_response(redirect_response)
print oauth_response

【问题讨论】:

    标签: yahoo


    【解决方案1】:

    我发现 requets_oauthlib 的主要问题是它不允许您进行 自定义 东西,例如 headers 和 正文内容。我曾尝试将它用于 Yahoo OAuth,但我因此而陷入困境。 我求助于 rauth,我设法使事情顺利进行。我什至为 Yahoo 开发了一个特殊的 OAuth Lib,它支持 OAuth1 和 OAuth2。 该库名为yahoo-oauth

    希望对您有所帮助。

    祝你好运

    【讨论】:

    • 我在你的 repo 中看到了这个块:# Example response = oauth.session.post(url, data=body) url 参数应该是什么,data = body 有什么作用?
    • 您好,这只是一个如何使用会话的示例。 yahoo-oauth 使用 rauth,它使用 requests。因此,一旦您拥有 access_token,请运行 ***get、post、put、... *** request。这是请求文档中的example
    猜你喜欢
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多