我目前使用OAuthBase.cs助手類可用oauth.net實現OAuth與雅虎通話!幻想API。我目前停留在第5步(使用訪問令牌/訪問密鑰來調用API服務)。雅虎Oauth API與OAuthBase.cs
我成功完成Step 4但似乎無法創建實際的服務呼叫。 The documentation是有限的;我應該使用什麼參數?我得到401或400 http錯誤。
url = new Uri("http://query.yahooapis.com/v1/public/yql?q=select * from fantasysports.teams.roster.stats where team_key='nba.l.52669.t.5' and week='5' and stats_type='week' and stats_week='5'&format=json");
signature = oauth.GenerateSignature(url, string.Empty, consumerKey, consumerSecret, accessToken, accessTokenSecret, "GET", time, string.Empty, nonce, OAuth.OAuthBase.SignatureTypes.HMACSHA1, out normalizedUrl, out normalizedRequestParameters);
using (var y = WebRequest.Create(string.Format("{0}?{1}&oauth_signature={2}", normalizedUrl, normalizedRequestParameters, signature)).GetResponse())
{
....
}
其中url
是API調用我試圖讓,consumerKey
/consumerSecret
是給我,當我簽署了雅虎的鑰匙!和accessToken
/accessTokenSecret
是:我通過生成我的簽名在步驟4中從request_auth
返回響應。我做錯了什麼?
在此先感謝
編輯:12/14 - 對於那些不熟悉OAuthBase,它本質上是生成由 1.整合所有的URL /參數(consumerkey,令牌,tokenSecret簽名庫, httpMethod,nonce,時間等),對它進行排序,並規範URL /參數; 2.將consumerSecret'&'tokenSecret編碼爲HMACSHA1密鑰; 3.計算HMACSHA1鍵