[英]Problems with Yahoo API after authentication
我一直在尋找答案,但是似乎找不到答案。 我已經嘗試了好幾件事,所有這些我都會在這里列出,希望有人可以指出正確的方向。
首先,我使用Hapi框架構建了一個簡單的Node應用程序。 另外,我正在使用同樣來自Hapi的Bell庫對Yahoo和hapi-auth-cookie進行身份驗證,以使用身份驗證結果設置會話。 據我所知,這是完美的。
用戶通過身份驗證后,Bell向我提供了令牌和機密。
令牌看起來像這樣:
A=vvnxl1_FhCK6FPEFbIA.p_N8cSet7Ifmye.i3mWa6hrlh7fXecZhQvumjKSXPkRGfcj2BaFSmZCWPXeW67G8kqiS4G3Z7yBR
這個秘密看起來像這樣:
9e17917hsjf863c220c35f3f3385b6e4cd586c84
因此,一旦我通過身份驗證並重定向到我的主頁,便擁有了這兩個並設置了一個cookie。 據我了解,我已經准備好了。 然后,我嘗試使用以下URL來訪問Yahoo API:
https://fantasysports.yahooapis.com/fantasy/v2/leagues;league_keys=328.l.5668/standings?format=json
點擊此網址的響應是:
{
"error":
{
"lang": "en-US",
"description": "Please provide valid credentials. OAuth oauth_problem=\"unable_to_determine_oauth_type\", realm=\"yahooapis.com\""
}
}
顯然,我要訪問的URL不完整。 但是,我不確定所需的參數是什么。 我去過Yahoo docs 1000次了,但是我似乎找不到這個具體答案。 那里的所有示例大多與身份驗證位有關,我應該這樣做。 因此,希望我能走運,我開始嘗試在URL中傳遞令牌和秘密。 在這一部分中,我嘗試了API URL +令牌+機密+簽名。 我正在使用的令牌和秘密是上面引用的Bell提供的:
https://fantasysports.yahooapis.com/fantasy/v2/leagues;league_keys=328.l.5668/standings?format=json&&oauth_token=A=tqq2L3D54ATsQZbgHB95b0ZyCj_kgq01R69vTulZ6lP9evhzddrIaksmd6u21fNSPFQ8WtVBsWr9GFk1zQtsw_OP4pKKaDKs2TxHlqwAYp4ZyIkthzPcSnJQka.J2THeK8BHC8eeisT4EeQpMqcDgefX6Hbb1CsQ_bD00ECd3AE.uGdF_6sm&oauth_secret=b5d2359f191cc72cfd318b5cf&oauth_signature=524a4f6e1407acd00a98f53973180%26b5d2359f191cc4c7d7d7bfd318b5cf
現在,它告訴我令牌已被拒絕:
{
"error": {
"lang": "en-US",
"description": "Please provide valid credentials. OAuth oauth_problem=\"token_rejected\", realm=\"yahooapis.com\""
}
}
我還嘗試了沒有簽名的情況,在這種情況下,錯誤告訴我缺少簽名。
在這里的任何幫助,將不勝感激。 通過搜索過去一周,我發現Yahoo API並不是最容易使用的東西,但是希望有人在這里有所了解,因為我似乎很親近。 我希望我包括了您需要的所有信息,謝謝!!
正確驗證用戶身份后,您將擁有提到的“ oauth_token”和“ oauth_token_secret”。
現在,在嘗試訪問Yahoo API時,您需要按照oauth規范提供“令牌”和“秘密”,以便Yahoo理解您被允許訪問其API。
oauth的工作方式就是這樣,您可以將oauth信息作為“授權”標頭的一部分提供,也可以使用url查詢參數。
“ oauth_token_secret”(以及所有其他呼叫信息)應用於生成“ oauth_signature”,雅虎將在其末尾進行驗證。 訪問他們的api時,不應原樣發送“秘密”。
請注意,oauth信息不僅涉及“令牌”和“簽名”,而且還涉及“ nonce”,“ timestamp”,“ version”,“ signature_method”等。所有信息(以及機密信息)都將是用於生成簽名,然后將其作為api調用的一部分傳遞給yahoo。
Oauth文檔可在http://tools.ietf.org/pdf/rfc5849.pdf中找到
HTH
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.