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 的操作例如 headers 和 body 内容。我曾尝试将它用于 Yahoo OAuth,但因此卡住了。
我求助于 rauth,通过它我设法使事情顺利进行。我什至为 Yahoo 开发了一个特殊的 OAuth Lib,它支持 OAuth1 和 OAuth2。
该库名为 yahoo-oauth.
希望对您有所帮助。
玩得开心
我正在尝试在 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 的操作例如 headers 和 body 内容。我曾尝试将它用于 Yahoo OAuth,但因此卡住了。 我求助于 rauth,通过它我设法使事情顺利进行。我什至为 Yahoo 开发了一个特殊的 OAuth Lib,它支持 OAuth1 和 OAuth2。 该库名为 yahoo-oauth.
希望对您有所帮助。
玩得开心