我试图在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
答案 0 :(得分:1)
我在 requets_oauthlib 中找到的主要问题是,它不会让您自定义等内容,例如标题和 body 内容。我已经尝试将它用于 Yahoo OAuth ,但我因此而陷入困境。 我转向 rauth ,我设法让事情发挥作用。我甚至开发了一个特殊的 OAuth Lib for Yahoo ,它支持 OAuth1和OAuth2 。 lib名为yahoo-oauth。
希望它会帮助你。
有一个好的