Yahoo Fantasy Sports API Oauth 验证程序不可用

Yahoo Fantasy Sports API Oauth Verifier Not Available

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

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

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

但是,我只能收到一个 oauth 令牌,而我调用的方法根本 return 一个 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

我发现 requets_oauthlib 的主要问题是它不允许您进行 customize 的操作例如 headersbody 内容。我曾尝试将它用于 Yahoo OAuth,但因此卡住了。 我求助于 rauth,通过它我设法使事情顺利进行。我什至为 Yahoo 开发了一个特殊的 OAuth Lib,它支持 OAuth1 和 OAuth2。 该库名为 yahoo-oauth.

希望对您有所帮助。

玩得开心